又是一道经典题。
传送门
题解
考虑如何建模。
很显然这是一个二分图。
对于题库中的每一道题,像试卷中的所有可行的空位连边。
比如题库中一道题可以属于$1$类或者$2类$,那么就往试卷中所有$1类$和$2$类的位置连边。
由于一道题只能用在试卷上的一个位置,且试卷上的一个位置也只能放一道题。
所以直接上匈牙利算法求解该二分图的最大匹配即可。
当最大匹配数小于$m$时即为无解。(洛谷上的数据真水,一开始我没考虑无解的情况竟然AC了)
也可以转化成最大流问题,然后用EK、Dinic等求解。
代码
1 |
|