随笔分类 -  2-2最小割

摘要:常见套路:棋盘黑白染色,就变成了一张二分图 然后如果选了黑点,四周的白点就不能选了,也是最小割的套路。先把所有价值加起来,再减掉一个最少的不能选的价值,也就是割掉表示不选 建边(S,黑点i,v[i]),(黑点i,i四周的白点,inf),(白点j,T,v[j]) (黑点还是白点,你必须要割一个...) 阅读全文
posted @ 2018-10-19 15:10 Ressed 阅读(216) 评论(0) 推荐(0)
摘要:虽然割点不好搞,但是可以变成割边呀 拆点,拆出来的边权给1,原图中的边权给inf,然后跑dinic就行了 阅读全文
posted @ 2018-10-19 15:04 Ressed 阅读(145) 评论(0) 推荐(0)
摘要:如果把“我全都要”看作是我全不要的话,就可以用最小割解决啦 源点S,汇点T 我们试图让每个市民作为一个等待被割断的路径 把狗狗给市民:建边(S,i,1),其中i是市民 把狗狗给守卫:建边(j,T,1),其中j是守卫(也就是边) 市民要在路上所有边看到狗:建边(i,j,1),其中i是市民,j是i经过的 阅读全文
posted @ 2018-10-18 20:23 Ressed 阅读(673) 评论(0) 推荐(0)
摘要:平面图转对偶图:先在原图中加一个s->t的边,然后对每个面建一个点,对每条分隔两个面的边加一条连接这两个面对应点的边,边权等于原边权。 然后从刚才加的s->t分割出来的两面对应的两个点跑最短路,求出来的就是s到t的最小割。 要特判n==0||m==0的情况 然后我特判的那个点就T了一万次,在抄eli 阅读全文
posted @ 2018-09-07 13:18 Ressed 阅读(206) 评论(0) 推荐(0)