随笔分类 -  2-2.——网络流——

摘要:建图((x,y,c,l)表示x到y,费用c,流量l) (S,1,0,K) (i,i+1,0,K) 这个边上的流量,表示i还可以被覆盖的次数 (N,T,0,K) (i,j,w,1)对于权值为w的区间[i,j] 然后跑最大费用最大流 因为没有负权值,所以肯定尽量跑满 阅读全文
posted @ 2018-12-01 19:37 Ressed 阅读(124) 评论(0) 推荐(0)
摘要:看到数据范围,考虑网络流..但考的时候完全不知道怎么建图 考虑流量表示选的点个数,费用表示选点的收益,跑最大费用最大流 那么我用一个点x表示某树中的询问点x,刨去它子孙询问点的子树后的子树 对于树1,连边S->x,流量为x的限定数-孩子询问的限定数,费用为0 对于树2,连边x->T,流量为x的限定数 阅读全文
posted @ 2018-12-01 19:30 Ressed 阅读(340) 评论(0) 推荐(0)
摘要:常见套路:棋盘黑白染色,就变成了一张二分图 然后如果选了黑点,四周的白点就不能选了,也是最小割的套路。先把所有价值加起来,再减掉一个最少的不能选的价值,也就是割掉表示不选 建边(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)
摘要:Bob肯定想挑一个流量最大的边,然后把所有的费用都加给它呗 那Alice就让流量最大的边尽量小呗 那就二分一下答案再dinic呗 阅读全文
posted @ 2018-10-19 14:58 Ressed 阅读(152) 评论(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)
摘要:最大流板子题。 对于每根柱子,建两个点ai,bi,建边(ai,bi,柱子高度) 对于距离不超过d的两根柱子i,j,建边(bi,aj,inf) 对于起始位置在i的每个蜥蜴,建边(S,ai,1) 对于能跳出地图的柱子i,建边(bi,E,inf) 然后跑dinic即可 阅读全文
posted @ 2018-07-23 14:11 Ressed 阅读(165) 评论(0) 推荐(0)