原題:
題解:其實就是就是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...