SCOI2007 修車(費用流)

2021-09-10 12:09:45 字數 731 閱讀 8306

好像大家似乎都在籌備退役滾粗文化課的後事了,我是不是也應該準備了??不過我不想退役啊55555

很好,這個記性~=魚,zkw板子還是背不熟,我**。

這道題看似很狗,不過只要我們能想到將乙個工人對於每輛車拆成n份來看的話就會簡便許多,這樣的話,等待時間就被我們具體化了,不再是抽象的,因此把n輛車和m*n個工人全部連起來,費用是編號*時間,表示需要等待的時間,並且s到車流1費0,工人到t流1費0。

#includeconst int n=1000;

const int inf=0x3f3f3f3f;

using namespace std;

int m,n,s,t,tot=1,first[n];

struct edge

edge[n*2];

inline void addedge(int from,int to,int c,int f)

inline void add(int from,int to,int c,int f)

bool inque[n],v[n];

int dis[n],ans=0;

inline bool spfa()

for(int i=1;i<=n;i++) add(s,i,1,0);

for(int i=1;i<=m*n;i++) add(n+i,t,1,0);

zkw();

cout

}

費用流 SCOI2007 修車

同一時刻有 nn 位車主帶著他們的愛車來到了汽車維修中心。維修中心共有 mm 位技術人員,不同的技術人員對不同的車進行維修所用的時間是不同的。現在需要安排這 mm 位技術人員所維修的車及順序,使得顧客平均等待的時間最小。說明 顧客的等待時間是指從他把車送至維修中心到維修完畢所用的時間。對於每乙個修車...

1070 SCOI2007 修車 費用流

同一時刻有n位車主帶著他們的愛車來到了汽車維修中心。維修中心共有m位技術人員,不同的技術人員對不同 的車進行維修所用的時間是不同的。現在需要安排這m位技術人員所維修的車及順序,使得顧客平均等待的時間最 小。說明 顧客的等待時間是指從他把車送至維修中心到維修完畢所用的時間。第一行有兩個m,n,表示技術...

SCOI2007 修車 題解

上古網路流題 為了便於考慮每個決策的貢獻,把每個工人的決策拆成n個彼此獨立的決策 即其修的倒數第i個車是什麼。因為此車後 含此車 有i人要多等t,故貢獻為t n 以此拆點建圖,以貢獻為費用跑 二分圖 費用流即可,由費用流性質可知每人修車順序必合法 注意本題n,m順序有點反常 include incl...