Gravatar
Shirry
积分:2262
提交:554 / 1107
好神啊

题目 1632 搬运工
2017-05-03 22:04:12
Gravatar
真呆菌
积分:1102
提交:273 / 486
好神啊……

题目 1632 搬运工
2015-04-01 15:31:17
Gravatar
◆半城烟沙灬為你打天下
积分:130
提交:42 / 66
吐槽,内个不是他想的,吐槽=——=

题目 1632 搬运工
2014-05-14 19:15:57
Gravatar
,
积分:426
提交:128 / 305
回复 @丿Nice丶蒙奇 :
太神了

题目 1632 搬运工
2014-05-14 15:31:01
Gravatar
OI永别
积分:566
提交:240 / 406
  
这是个很经典的二分图模型。以行为二分图的x部,列为二分图的y部。若格子(x, y)需要被消除,则连一条从x到y的边。最少次数即为二分图的最小点覆盖数。易证最小点覆盖数等于二分图的最大匹配数。
  但是题目还要求代价尽量小。那么怎么办呢?实际上,最大匹配也可以当做最小割做。从源s向每个x部点连一条容量为1的边,从每个y部点向汇t连一条容量为1的边,而二分图的每条边容量设为+∞。一个割会使得s和t不连通,也就使得二分图的每条边的两个端点中至少有一个被选出。同时最小割是所有割中代价最小的。
  提出这个模型的意义在于可以通过修改边的容量使得它能解决此题。我们考虑修改这个最小割模型的边的容量。将原来容量为1的边修改容量为10^6+ai(或bj)。由于数据范围中ai, bj<=100且n <= 100,所以∑ai+∑bj仍然远小于10^6。所以最小割必然是先满足删去的边尽量少,然后满足附加的容量和尽量小。
  最小次数即等于新图最小割除以10^6的商,最小代价等于最小割模10^6的余数。如果用Dinic计算最小割,则时间复杂度是O(n4)。实际上最短增广路算法一般远远达不到理论复杂度,因此可以完美地解决这道题。

题目 1632 搬运工 AAAAAAAAAA
2014-05-13 18:50:46