題解 P2763 試題庫問題 網路流

2022-02-23 20:38:09 字數 994 閱讀 1317

考慮乙個試題要被加入進答案的集合有什麼條件?

就這兩種且的限制,所以我們用串聯的方式連線"型別點"和"作用點"。

判斷無解就判斷容量是否滿了。輸出方案就輸出有流量的邊的終點。

//@winlere

#include#include#include#include#includeusing namespace std; typedef long long ll;

inline int qr()

const int inf=0x3f3f3f3f;

const int maxn=1.9e3+5;

int nodecnt;

struct ee[50005];

int head[maxn];

int cur[maxn];

int d[maxn];

int cnt=-1,s,t,n,m,k;

vector< int > ve[maxn];

inline void add(const int&fr,const int&to,const int&w,const int&f);

head[fr]=cnt;

if(f)add(to,fr,0,0);

}queue< int >q;

inline bool bfs()}}

return d[t];

}int dfs(const int&now,const int&last,int fl)

}return ret;

}inline int dinic()

int main()

dinic();

int ok=1;

for(register int t=head[s];t!=-1;t=e[t].nx)

if(e[t].w) ok=0;

if(ok)

}else puts("no solution!");

return 0;

}

題解 P2763 試題庫問題

題目描述 問題描述 假設乙個試題庫中有n道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。現要從題庫中抽取m 道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。程式設計任務 對於給定的組卷要求,計算滿足要求的組卷方案。輸入輸出格式 輸入格式 第1行有2個正整數k...

網路流問題 P2763 試題庫問題

問題描述 假設乙個試題庫中有n道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。現要從題庫中抽取m 道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。程式設計任務 對於給定的組卷要求,計算滿足要求的組卷方案。輸入格式 第1行有2個正整數k和n 2 k 20,k ...

P2763 試題庫問題 網路流 最大流

傳送門 解題思路 比較簡單的網路流,建圖還是比較好想的。讓源點向試題連流量為1的邊,試題向所屬型別連流量為1的邊,型別向匯點連流量為需要此類試題的邊。直接跑最大流,輸出答案時找到那些滿流的邊所對的點。include include include include include using name...