傳送門
這個題好像比較水。
每個種類向匯點連容量為所需求的數量的邊
然後每個試題向可以選的種類連容量為1的邊
再從源點向每個試題連容量為1的邊,然後dinic
過程中記錄一下轉移的目標節點,然後輸出路徑就好了
判無解不用我說了吧。
**:
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using
namespace
std;
inline
int read()
const
int n=2005,m=n*10;
int k,n,sum,tot=-1,s,t;
int head[n],d[n],q[n],cur[n],nxt[n],next[m],to[m],flow[m];
inline
void addedge(int x,int y,int c)
inline
bool bfs()}}
return d[t]!=0x3f3f3f3f;
}inline
int dfs(int x,int a)
}return f;
}inline
int dinic()
return f;
}vector
t[n];
int main()
for(int i=1;i<=n;i++)
}int ans=dinic();
if(ans!=sum)printf("no solution!");
else
vector
::iterator it;
for(int i=1;i<=k;i++)
putchar('\n');}}
return
0;}
網路流24題 試題庫問題
網路流24題大多需要spj,所以需要乙個有spj的oj,本系列 均在www.oj.swust.edu.cn測試通過 這道題的模型很顯然,源點向每個試卷連線一條容量為1的邊,每個試卷向對應的型別連線一條容量為一的邊,每個型別向匯點連線一條容量為需要數量的邊,跑一邊最大流即可。include inclu...
網路流24題 試題庫問題
有 k k 種型別和 n role presentation n n個題目,每個題目會適應部分型別,一種型別可能需要多種題,一道題可能多種型別都需要,但一道題只能滿足一種型別,現要求出滿足出完所有型別的題目的方案 網路流擅長於解決各種有要求的匹配,顯然這道題是有條件的匹配,可以用最大流來解決。首先建...
網路流24題 試題庫問題
luogu 2763 現在要編組m套試卷m,給出每套試卷要出幾道題。試題庫裡有n道題目,並給出每道題目可以出在哪些試卷上。求解一種組卷的方案,無方案則輸出無解。如不知道網路流的話可以把每套試卷拆成題所需數個點,連邊跑二分圖。不過這樣處理比較麻煩,時間複雜度能不能接受我也沒試 用網路流解決更直觀簡單。...