最大权闭合子图
定义
有一个有向图,每一个点都有一个权值(可以为正或负或0),选择一个权值和最大的子图,使得每个点的后继都在子图里面,这个子图就叫最大权闭合子图。
如下图:
考虑网络流,选择一个点,相当于网络流流过去
自然原图可以等价于
看到这个图,先想一下,假设每次我们能选与源点相连的多条边,割掉一条边代表什么??
对于与s链接的边来说,割边相当与不选这个点
对于与t链接的边来说,割边相当于选择这个点,(边权全为正嘛…)
那么我们可以贪心的想一下,我们要原图边权加起来最大,那么是不是要割最小的边
那么我们假设是最小割,那么原图不连通…
不连通意味这什么(s—t不连通),那么就是对于选择的子图,满足选择了选择了的节点的全部后继(应该是吧,应为不存在路啊!!!)
然后就ok了
Q.E.D
那么对于原图直接跑EK或dinic之类的就好了