博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  网络流——费用流

摘要:好菜啊... 阅读全文
posted @ 2019-04-29 09:02 SovietPower 阅读(278) 评论(0) 推荐(0)
摘要:颓废ing.. 阅读全文
posted @ 2019-04-17 17:56 SovietPower 阅读(188) 评论(0) 推荐(0)
摘要:无摘要.. 阅读全文
posted @ 2019-03-28 19:33 SovietPower 阅读(176) 评论(0) 推荐(0)
摘要:$n$个建筑物,每个建筑物里有$a_i$个人;$m$个避难所,每个避难所可以容纳$b_i$个人。 给出每个建筑物及避难所的坐标,任意两点间的距离为它们的曼哈顿距离$+1$。 现在给出一个分配方案($g[i][j]$表示第$i$个建筑物去第$j$个避难所的人数),问是否存在所有人移动的距离之和比当前更小的方案。如果存在,输出任意一组更小的方案。 $n,m\leq100$ 阅读全文
posted @ 2019-01-31 17:46 SovietPower 阅读(333) 评论(0) 推荐(1)
摘要:无摘要.. 阅读全文
posted @ 2019-01-30 11:09 SovietPower 阅读(224) 评论(0) 推荐(0)
摘要:给定一张部分边方向已确定的竞赛图。你需要给剩下的边确定方向,使得图中的三元环数量最多。 $n\leq100$。 阅读全文
posted @ 2019-01-21 17:21 SovietPower 阅读(427) 评论(0) 推荐(0)
摘要:"题目链接" 首先黑白棋子的交换等价于黑棋子在白格子图上移动,都到达指定位置。 ~~在这假设我们知道这题用网络流做。~~ 那么黑棋到指定位置就是一条路径,考虑怎么用流模拟出这条路径。 我们发现除了路径的起点和终点的格子消耗次数为1,路径上其它点的格子交换次数为$2$。 可以想到把每个点拆成$in$和 阅读全文
posted @ 2018-09-05 21:57 SovietPower 阅读(151) 评论(0) 推荐(0)
摘要:"题目链接" Update: 我好像刚知道多路增广就是zkw费用流。。 cpp //1314ms 2.66MB 本题优化明显 include include include include include // define gc() getchar() define MAXIN 350000 de 阅读全文
posted @ 2018-09-05 08:19 SovietPower 阅读(368) 评论(0) 推荐(0)
摘要:"题目链接" "LOJ" "洛谷" ~~容易想到~~最小费用最大流分配度数。 因为水管形态固定,每个点还是要拆成4个点,分别当前格子表示向上右下左方向。 然后能比较容易地得到每种状态向其它状态转移的费用(比如原向上的可以流到向下)。 注意比如向左向上的L,左连右,上连下,没有上连右(日常zz)。 " 阅读全文
posted @ 2018-09-04 23:10 SovietPower 阅读(240) 评论(0) 推荐(0)
摘要:见上题 阅读全文
posted @ 2018-07-25 09:43 SovietPower 阅读(330) 评论(0) 推荐(0)
摘要:题目链接 线性规划 用$A_=0/1$表示第$i$天$j$类志愿者能否被招募,$x_i$为$i$类志愿者招募了多少人,$need_i$表示第$i$天需要多少人,$C_i$表示$i$类招募志愿者的花费。 那么我们需要 \(最小化\ Cx\\s.t.\ Ax\geq need\\x\geq 0\) (s 阅读全文
posted @ 2018-07-24 21:51 SovietPower 阅读(406) 评论(0) 推荐(0)
摘要:"BZOJ" "洛谷" 裸01分数规划。二分之后就是裸最大费用最大流了。 写的朴素SPFA费用流,~~洛谷跑的非常快啊,为什么有人还T成那样。。~~ 当然用二分也很慢,用什么什么迭代会很快。 [Update] 19.2.15 下午写的zkw费用流在BZOJ上T了= = 然而在洛谷上和以前写的跑的差不 阅读全文
posted @ 2018-04-04 09:49 SovietPower 阅读(197) 评论(1) 推荐(0)
摘要:"BZOJ" "洛谷" $Solution$ 很显然的建二分图后跑最大费用流,但有个问题是一个数是只能用一次的,这样二分图两部分都有这个数。 那么就用两倍的。如果$i$可以向$j'$连边,$j$也向$i'$连边,如果上一次走了$i j'$,那么这一次一定走$j i'$。 每次跑最大费用流,直至有一次 阅读全文
posted @ 2018-04-01 14:19 SovietPower 阅读(241) 评论(0) 推荐(0)
摘要:"题目链接" 嗯。。水题 洛谷这网络流二十四题的难度评价真神奇。。 cpp include include include include include define gc() getchar() const int N=206,M=15000,INF=0x3f3f3f3f; int n,m,sr 阅读全文
posted @ 2018-02-23 07:53 SovietPower 阅读(196) 评论(0) 推荐(0)
摘要:选$k$段不相交的区间,使其权值和最大。 阅读全文
posted @ 2018-02-07 11:26 SovietPower 阅读(548) 评论(0) 推荐(0)
摘要:"题目链接" cpp / 每一天的餐巾需求相当于必须遍历某些点若干次 设q[i]为Dayi需求量 (x,y)表示边x容y费 将每个点i拆成i,i',由i' T连(q[i],0)的边,表示求最大流的话一定要流满q[i] 对于i,由S i连(q[i],0)的边,表示满足Dayi需求后最多还能给出q[i] 阅读全文
posted @ 2018-02-06 16:49 SovietPower 阅读(143) 评论(0) 推荐(0)
摘要:"题目链接" cpp / 同"修车":对于每个厨师拆成p个点表示p个时间点,每个人向m个厨师每个时间点连边 这样边数O(nmp)+网络流 ≈O(nm p^2)(假设SPFA线性) = GG 可以发现这O(nmp)条边大多数是用不到的 所以可以只建少量边,每增广一条路加O(n)条边 复杂度就是O(nm 阅读全文
posted @ 2018-02-06 15:49 SovietPower 阅读(191) 评论(0) 推荐(0)
摘要:"题目链接" 上下界费用流: 最小路径覆盖: 阅读全文
posted @ 2018-02-06 14:20 SovietPower 阅读(170) 评论(0) 推荐(0)
摘要:"题目链接" cpp / 神tm看错题 2。。 假如人员i依次维修W1,W2,...,Wn,那么花费的时间是 W1 + W1+W2 + W1+W2+W3... = W1 n + W2 (n 1) + ... + Wn 1 即车j是第a个修的 产生的贡献是(n a+1) t[i][j] 车j是倒数第a 阅读全文
posted @ 2018-02-06 09:27 SovietPower 阅读(145) 评论(0) 推荐(0)