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

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

摘要:好菜啊... 阅读全文
posted @ 2019-04-29 09:02 SovietPower 阅读(265) 评论(0) 推荐(0) 编辑
摘要:颓废ing.. 阅读全文
posted @ 2019-04-17 17:56 SovietPower 阅读(173) 评论(0) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-03-28 19:33 SovietPower 阅读(161) 评论(0) 推荐(0) 编辑
摘要:n个建筑物,每个建筑物里有ai个人;m个避难所,每个避难所可以容纳bi个人。 给出每个建筑物及避难所的坐标,任意两点间的距离为它们的曼哈顿距离+1。 现在给出一个分配方案(g[i][j]表示第i个建筑物去第j个避难所的人数),问是否存在所有人移动的距离之和比当前更小的方案。如果存在,输出任意一组更小的方案。 n,m100 阅读全文
posted @ 2019-01-31 17:46 SovietPower 阅读(317) 评论(0) 推荐(1) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-01-30 11:09 SovietPower 阅读(215) 评论(0) 推荐(0) 编辑
摘要:给定一张部分边方向已确定的竞赛图。你需要给剩下的边确定方向,使得图中的三元环数量最多。 n100阅读全文
posted @ 2019-01-21 17:21 SovietPower 阅读(408) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 首先黑白棋子的交换等价于黑棋子在白格子图上移动,都到达指定位置。 ~~在这假设我们知道这题用网络流做。~~ 那么黑棋到指定位置就是一条路径,考虑怎么用流模拟出这条路径。 我们发现除了路径的起点和终点的格子消耗次数为1,路径上其它点的格子交换次数为2。 可以想到把每个点拆成in阅读全文
posted @ 2018-09-05 21:57 SovietPower 阅读(140) 评论(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 阅读(352) 评论(0) 推荐(0) 编辑
摘要:"题目链接" "LOJ" "洛谷" ~~容易想到~~最小费用最大流分配度数。 因为水管形态固定,每个点还是要拆成4个点,分别当前格子表示向上右下左方向。 然后能比较容易地得到每种状态向其它状态转移的费用(比如原向上的可以流到向下)。 注意比如向左向上的L,左连右,上连下,没有上连右(日常zz)。 " 阅读全文
posted @ 2018-09-04 23:10 SovietPower 阅读(231) 评论(0) 推荐(0) 编辑
摘要:见上题 阅读全文
posted @ 2018-07-25 09:43 SovietPower 阅读(320) 评论(0) 推荐(0) 编辑
摘要:题目链接 线性规划 用A=0/1表示第ij类志愿者能否被招募,xii类志愿者招募了多少人,needi表示第i天需要多少人,Ci表示i类招募志愿者的花费。 那么我们需要  Cxs.t. Axneedx0 (s 阅读全文
posted @ 2018-07-24 21:51 SovietPower 阅读(395) 评论(0) 推荐(0) 编辑
摘要:"BZOJ" "洛谷" 裸01分数规划。二分之后就是裸最大费用最大流了。 写的朴素SPFA费用流,~~洛谷跑的非常快啊,为什么有人还T成那样。。~~ 当然用二分也很慢,用什么什么迭代会很快。 [Update] 19.2.15 下午写的zkw费用流在BZOJ上T了= = 然而在洛谷上和以前写的跑的差不 阅读全文
posted @ 2018-04-04 09:49 SovietPower 阅读(188) 评论(1) 推荐(0) 编辑
摘要:"BZOJ" "洛谷" Solution 很显然的建二分图后跑最大费用流,但有个问题是一个数是只能用一次的,这样二分图两部分都有这个数。 那么就用两倍的。如果i可以向j连边,j也向i连边,如果上一次走了ij,那么这一次一定走ji。 每次跑最大费用流,直至有一次 阅读全文
posted @ 2018-04-01 14:19 SovietPower 阅读(228) 评论(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 阅读(190) 评论(0) 推荐(0) 编辑
摘要:选k段不相交的区间,使其权值和最大。 阅读全文
posted @ 2018-02-07 11:26 SovietPower 阅读(527) 评论(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 阅读(135) 评论(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 阅读(176) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 上下界费用流: 最小路径覆盖: 阅读全文
posted @ 2018-02-06 14:20 SovietPower 阅读(161) 评论(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 阅读(138) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示