題意說的有問題啊。。。
應該是每種型別至少有p題,因為一道題可以向多個型別做貢獻。
將源點向每題連流量為1的邊,代表選一本
將每題向各種連流量為1的邊,表示只能對其中一種有貢獻
將每種向匯點連流量為需求的邊。
記錄答案第二種邊判斷即可
by:大奕哥
1 #include2using
namespace
std;
3const
int n=1100,inf=1e9;
4int s=0,t=1050,cnt=-1
,head[n],v[n],k,n,m;
5struct
nodee[100005];8
void add(int x,int y,intw)9
13 queueq;
14bool bfs(int x,int
y)1527}
28return v[y]!=-1;29
}30int dfs(int x,int w,int
yy)31
44return
s;45}46
intdinic()
4753
return
ans;54}
55int num[25
],p[n],bel[n][n];
56int
main()
5765
for(int i=1;i<=n;++i)
6672
int ans=dinic();
73if(ans"
no solution!
");return0;}
74for(int i=1;i<=k;++i)
7583 printf("\n"
);84}85
return0;
86 }
網路流24題 試題庫問題
網路流24題大多需要spj,所以需要乙個有spj的oj,本系列 均在www.oj.swust.edu.cn測試通過 這道題的模型很顯然,源點向每個試卷連線一條容量為1的邊,每個試卷向對應的型別連線一條容量為一的邊,每個型別向匯點連線一條容量為需要數量的邊,跑一邊最大流即可。include inclu...
網路流24題 試題庫問題
傳送門 這個題好像比較水。每個種類向匯點連容量為所需求的數量的邊 然後每個試題向可以選的種類連容量為1的邊 再從源點向每個試題連容量為1的邊,然後dinic 過程中記錄一下轉移的目標節點,然後輸出路徑就好了 判無解不用我說了吧。include include include include incl...
網路流24題 試題庫問題
有 k k 種型別和 n role presentation n n個題目,每個題目會適應部分型別,一種型別可能需要多種題,一道題可能多種型別都需要,但一道題只能滿足一種型別,現要求出滿足出完所有型別的題目的方案 網路流擅長於解決各種有要求的匹配,顯然這道題是有條件的匹配,可以用最大流來解決。首先建...