摘要: 题意:有n个人n个位置。给出一个n*n的矩阵,第i行第j列表示第i个人可以做第j个位置。现在要求每个人都找到一个不同的位置,当他们全部找到各自的位置时,一轮结束,他们可以开始新的一轮。在新的一轮里,每个人同样会去找位置,但是每个人都不会去找原先已经坐过的位置。问一共可以进行多少轮这样的匹配,并输出每一轮的匹配方案。如果不要求输出匹配方案,那好办,跟那个婚姻匹配的一样的办法。现在问题的关键是要求输出每一轮匹配的方案。于是。。就跑了n遍dinic。首先,二分一个mid(轮次),从S到每个人i连一条边(S,i,mid),再从每个位置j到T连一条边(j,T,mid),如果i可以选择j的话,连一条边(i 阅读全文
posted @ 2013-10-28 21:10 浙西贫农 阅读(229) 评论(0) 推荐(0) 编辑