試題庫 網路流24題 7 24

2021-09-26 22:09:04 字數 1087 閱讀 6454

試題庫

題面:假設乙個試題庫中有 n道試題。每道試題都標明了所屬類別。同一道題可能有多個類別屬性。現要從題庫中抽取m道題組成試卷。並要求試卷包含指定型別的試題。試設計乙個滿足要求的組卷演算法。

思路:建模,跑一遍最大流即可

#include

#define inf 0x3f3f3f3f

using

namespace std;

const

int n =

10005

;int n, m, ss, tt, k;

int dis[n]

;int cur[n]

;bool vis[n]

;queue<

int> q;

struct edge e[n *10]

;int head[n]

, cnt =-1

;void

add(

int from,

int to,

int value)

bool

bfs(

int s,

int t)}}

return dis[t]!=-

1;}int

dfs(

int x,

int t,

int maxflow)

return ans;

}int

dinic

(int s,

int t)

return ans;

}int

main()

for(

int i=

1;i<=n;i++

)for

(int i=

1;i<=n;i++)}

int ans=

dinic

(ss,tt);if

(sum!=ans)

for(

int i=n+

1;i<=n+k;i++)}

puts(""

);}return0;

}

網路流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個題目,每個題目會適應部分型別,一種型別可能需要多種題,一道題可能多種型別都需要,但一道題只能滿足一種型別,現要求出滿足出完所有型別的題目的方案 網路流擅長於解決各種有要求的匹配,顯然這道題是有條件的匹配,可以用最大流來解決。首先建...