自己寫的超時了,才知道要用二分最大流,然而二分最大流是什麼。。。。
未完待續
唔我還是放棄了,這個其實是一道二分的最大匹配題,以我現在對圖的熟練度。。。,網上講二分的全是匈牙利演算法,我還是先學最大流吧
這個放一放
未完待續
#include
#include
#include
#include
using namespace std;
struct node
a[600];
int flow[600][600],f[600],pre[600];
int n,m,minn,maxn,sum;
void bflow()}}
if(f[maxn+n+1]==0)
break;
sum=sum+f[maxn+n+1];
int i=maxn+n+1;
int index=pre[i];
while(1)
}// printf("%d\n",sum);
}int main()
for(int i=minn;i<=maxn;i++)
flow[i][maxn+n+1]=m;
for(int i=1;i<=n;i++)
bflow();
if(sum==num)
printf("case %d: yes\n",tt);
else
printf("case %d: no\n",tt);
printf("\n");
}return 0;}/*
34 3
1 3 5
1 1 4
2 3 7
3 5 9
*/
h3416最大流(未解決)
唔這道題。最大流的這種寫法我實在不習慣,基本看懂了但是我寫不出來,希望以後有一天可以寫出來 題意 有 n 個城市,知道了起點和終點,有 m 條有向邊,問從起點到終點的最短路一共有多少條。分析 求最短路的條數可以用最大流,不過要是去掉原圖中不在最短路上的邊,判斷某條邊是不是最短路上的邊的時候,如果滿足...
p3422最小費最大流(未解決)
我真的好煩這個addedge啊,每次看到這個就暈 沒怎麼看懂,不想看 題意 對於n n的陣列,給乙個k,從 1,1 走到 n,n 走k次,走到每個點權值加上當前這個點的權值,之後這個點權值為0,求最大權值 對點進行拆分建圖,乙個點拆為兩個點a和b,在a和b之間建一條花費為輸入值容量為1的邊,然後再建...
hdu 3572 最大流isap模版 鄰接表寫。。
題意 用m個機器,處理n個任務,每個任務必須在 si,ei 時間段完成,需要pi天才能完成。每個機器只能處理乙個任務,即每天只能處理m個任務。題解 可以採用貪心法處理,區間覆蓋問題,可以參見劉汝佳的書。或者採用最大流,建圖 把每個任務和每一天看做乙個點,增加源點s和匯點t,在s和每個任務之間連一條邊...