![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小割
eIectron
优美的代码是成功AC的第一步。看着那么多博客不再更新,这就是我几年后的状态吗?要是走了就再也不回来了。
展开
-
POJ 3469 Dual Core CPU(最小割)
这是挑战上面的一道题目。 一开始看到这题,想了半天,都觉得是一个最小费用最大流的题目。但是苦于纠结这个建图,按照我的想法建图会有负环导致死循环。 想了一个上午,遂放弃,看到挑战上写着是——用最小的费用将对象划分成两个集合的问题,常常可以转换成最小割后顺利解决。没见过这种套路啊。。。 挑战上面是采取,用流量代表费用的方法,然后求一次最小割即可。 挑战上面的证明还是比较好理解的。 特别是如何原创 2017-08-04 15:17:10 · 214 阅读 · 0 评论 -
POJ 3155 Hard Life(最大密度子图)
详细解法参考胡伯涛的《最小割模型在信息学竞赛中的应用 》论文,下面做了一些注释,仅供参考。。。 代码如下: #include #include #include #include const int maxn = 1500; const int maxm = 10000; const double eps = 1e-6; const int INF = 0x3f3f3f3f; using na原创 2017-09-03 16:23:10 · 206 阅读 · 0 评论 -
POJ 1815 Friendship (最小点割集/最小割)
题意:给出每个朋友之间的联系表,如果a联系b,b联系c,那么a是可以联系c的。问最少要去掉多少个朋友才能使得s无法和t联系上。如果有一样的方案输出字典序最小的。 解法:很像最小割有木有?但是这次不是边而是点,那么我们拆点不就好了。跑一次最大流发现一开始流量为f,那么我们从1到n枚举点,试着把第i个点删去看看流量是否有变化。如果有变化,说明第i个点在最小点割集里面。记录一下这个点,并且以后不再进入原创 2017-10-06 15:37:41 · 275 阅读 · 0 评论 -
Ural 1277 Cops and Thieves(最小点割集/最小割)
题意:一个团伙去偷一个美术馆,警察决定在路上堵截。警察人数为k,不能在贼窝和美术馆驻扎,只能在图上其他点驻扎,而且驻扎有一个最小人数要求,问警察能否完成任务。 解法:又是最小点割集题目,每个点拆点即可,边权为给出的r[i],然后跑一遍最大流求最小割,比较一下是否小于等于k即可。 坑点,如果美术馆和贼窝是同一伙人。。。 代码如下: #include #include #include #in原创 2017-10-06 16:35:30 · 420 阅读 · 0 评论