P2763 試題庫問題 最大流

2021-09-17 21:40:05 字數 704 閱讀 2973

原題:

題解:其實就是就是n個試題和k配對。建圖方法: s連i(i∈n), j連t(j∈k),且邊的流量是a[i]。如題連i->j就行了。跑一邊最大流,從k列舉,輸出答案。然而洛谷上要英文冒號。

#include#define inf 0x7fffffff

using namespace std;

const int n=2200;

const int m=220000;

struct edata[m<<1];

int len,n,k,s,t,sum;

int h[n],dep[n],cur[n];

queueq;

inline int rd()

inline void ins(int x,int y,int w)

bool bfs()

} }return dep[t];

} int dfs(int x,int lim)

} }return 0;

}inline int dinic()

return ans;

}int main()

int ans=dinic();

if(sum!=ans)

for(int x=1;x<=k;x++)

printf("\n");

} return 0;

}

P2763 試題庫問題 最大流

題意 給出n道題目,每道題目可以屬於很多個型別,現在出題需要每個型別有指定數量的題目,給出匹配方案 分析 這道題目其實建圖比較簡單,但是由於這題還讓給出最大流的乙個匹配方案,需要對陣列實現的鄰接表很熟悉,是我太菜了 做法 最左邊乙個超級源點,標號為0 連往n道題目,題目標號為 1,n 1,n 1,n...

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

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

題解 P2763 試題庫問題

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