最小割我的理解就是去掉权值和最小的一些边使得一个点不能到达另一个点。这篇论文中讲了好几个应用,现分别总结下:
最大权闭合图:将源点连正权的点,负权的点连汇点,中间的关系照常,求最大流即可。http://acm.hdu.edu.cn/showproblem.php?pid=3917
http://poj.org/problem?id=2987
二分图的最小点权覆盖:分别将S,T连二分图的一边,权值为点权,中间有边的话权值为无穷,求最大流即可。最大点权独立集求补图的最小点权覆盖。
http://acm.hdu.edu.cn/showproblem.php?pid=1569
http://poj.org/problem?id=3308 最小点覆盖的乘积最小,将点权取对数
http://poj.org/problem?id=1815 求字典序最小的点割集,不断地枚举点,删除它通过最小割判断是否为割点
分数规划:f(x)=a(x)/b(x)二分f(x)的值t,权值就可以赋为a(x)-t*b(x),然后再进行别的处理
http://poj.org/problem?id=2976 取一部分数,使得suma/sumb最大,直接二分最终值,然后排序,取前面的
http://poj.org/problem?id=3621走一圈使得点权和除以边权和最大。二分最终值,然后对于每条路径,加点权减边消耗,求最短路
最大密度子图:取一子图,使得边数除以点数最大。二分最终结果g,S连每个点权值为U(很大的数,这里为它的度);相连的点关系不变,权值为1;每个点连T,权值为U+2*g-dv
有边权:求的是子图的边权和除以点数最大。此时U为所有边权的和,中间相连的点权值为we,连T权值为U+2*g-dw(dw为所有连v的边权和)
有点权和边权:求的是子图的边权和和点权和除以点数最大。此时U为所有边权和加二倍点权的和,中间相连的点权值为we,连T的权值为U+2*(g-pv)-dw
http://poj.org/problem?id=3155