51nod 1499 (最小割)

Posted 人活着就是为了Chelly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1499 (最小割)相关的知识,希望对你有一定的参考价值。

题意

分析

  将一些点分成两个集合,很明显的最小割问题

  设一个S、T,和S相连的点表示在B集合中,和T相连的点表示在A集合中

  因为原题是完美值最大,我们转换一下,变成损失的价值最小,那么就是最小割问题了

  对于两个点(u,v),如果有边相连,那么u->T v->T 权值是|u-v|;如果无边,那么S->u S->v,权值是|u-v|

  光这样够吗?我们发现,如果u和S相连,v和T相连,那么不仅S->v的价值得不到了,S->u的价值也得不到了,那么该如何处理呢?

  我们对于任意一个点对(u,v),都连一条u->v 边权是|u-v|的边,那么出现上面这种情况的时候这条边一定也会被割掉

  这样跑最小割就行了,最后结果除以2

  分析建图可以知道,S->u->v->T 边权都是|u-v|,所以割的时候可以都选择割S->u或者v->T的边,即最后的结果一定是所有点都在A集合中或者B集合中

  这样就优化了复杂度

 

以上是关于51nod 1499 (最小割)的主要内容,如果未能解决你的问题,请参考以下文章

bzoj 1001 [BeiJing2006]狼抓兔子 最小割+最短路

「网络流」

bzoj2229: [Zjoi2011]最小割(分治最小割+最小割树思想)

BZOJ 2127: happiness [最小割]

最小割树 - CQOI2016不同的最小割

[ZJOI2011]最小割(最小割树模板)