hdu 3572 最大流isap模版 鄰接表寫。。

2021-06-21 02:19:33 字數 979 閱讀 2194

題意:用m個機器,處理n個任務,每個任務必須在[si,ei]時間段完成,需要pi天才能完成。每個機器只能處理乙個任務,

即每天只能處理m個任務。

題解:可以採用貪心法處理,區間覆蓋問題,可以參見劉汝佳的書。

或者採用最大流,建圖:把每個任務和每一天看做乙個點,增加源點s和匯點t,在s和每個任務之間連一條邊,容量為持續

天數;在每一天和t之間連一條邊,容量為m;在每個任務和對應天數之間連一條邊,容量為1。然後最大流量即為所求。

#include

#include

#define inf 1<<29;

int m,n,ds;

int h[1010],vh[1010],flo,flag,cf_path,he[1010],nu;

struct ss

st[505000];

int source,sink;//起點 終點

void sap()

void add(int hea,int v,int s)

int dfs(int pos,int cost,int cnt)

int j,minh=cnt-1,lv=cost,d;

for(j=he[pos];j!=-1;j=st[j].ne)

if(h[v]max)

max=z;

if(ymin=y;

}ds+=max-min+1;

for(i=1;i<=max;i++)

add(i+m,1004,n);

if(maxflow(0,1004,ds)==all)

printf("case %d: yesn",++cas);

else

printf("case %d: non",++cas);

printf("n");

}return 0;

}

hdu3572 任務分配 最大流判斷滿流

題意 將n個任務分配為m個機器,給每個任務需要的天數 無需每天連續 和可以在哪些天去做該任務,求是否存在方案。典型的任務 x 天 y 二分最大流,因為這裡任務是與天的關係 處理器控制流量,源點向x部點,指需要的天數,任務xi,向可以做的天連,流量1,每個y部點向匯點連流量為m,表示該天最多用m個機器...

hdu3572 任務分配 最大流量推論全流

意甲冠軍 將n分配的任務m機。到的每個任務需要的天數 如果沒有持續的日常 並能做到在哪些天任務。詢問是否有計畫。典型的任務 x 日 y 一半的最大流量,因為這個任務是天之間的關係 處理器控制流。x 點,它指的是需要幾天。任務xi,為了能夠做到即使天,流1,個y部點向匯點連流量為m,表示該天最多用m個...

hdu3572線性尤拉篩

用線性篩來篩,複雜度o n include include define fi first define se second define mp make pair define pb push back define pii pair define c 0.5772156649 define pi...