题意:在一个40*40的矩阵中,仅存在两种元素,0 和1,现在的要求就是需要改变最小的次数(01互换),使得每一行之间1的个数相同, 并且每一列1的个数相同,12年泰国的一个赛区,现场过的人比较少。
解法:费用流,不会搞,看了ac代码,发现是这样的,先枚举台面上最后总共1的数目,然后建成二分图,每行建成一排,每列也建成一排,那么具体的费用就是ones-now + cost
ones就是图中所有1的个数,now就是现在需要图中保存多少个,cost是费用流跑出来的费用流,那么怎么建图,从每一个行到列建一个容量是1,费用如果原来是1, 那么费用就是0,否则就是2。至于为什么,聪明的读者自己想一想就自然明白了