随笔分类 -  图论之网络流

摘要:题意:给一幅图,从1开始,每条边有边权最少走一遍,可以在任意点退出,问最小花费 题解:上下界费用流,每个边都流一遍,然后为了保证流量平衡,新建源点汇点,跑费用流把流量平衡 阅读全文
posted @ 2019-03-06 16:49 walfy 阅读(139) 评论(0) 推荐(0) 编辑
摘要:题意:一副无向有权图,每个点有一些人,某些点是避难所(有容量),所有人要去避难所,问最小时间所有人都到达避难所, 题解:dij+二分+最大流check,注意到避难所最多10个,先挨个dij求到避难所的时间,然后二分时间,在这个时间之内的建边,s向避难所建边,流量是避难所容量,可达的避难所向点建边,流 阅读全文
posted @ 2019-01-03 14:46 walfy 阅读(542) 评论(0) 推荐(0) 编辑
摘要:``` //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragma GCC optimize(4) //#pragma GCC optimize("unroll-loops") //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-... 阅读全文
posted @ 2018-12-13 20:43 walfy 阅读(129) 评论(0) 推荐(0) 编辑
摘要:A:留坑 B:二维sg函数,特判边界情况 E:签到 L:树链剖分裸题 // pragma GCC optimize(2) // pragma GCC optimize(3) // pragma GCC optimize(4) // pragma GCC optimize("unroll loops" 阅读全文
posted @ 2018-11-30 21:28 walfy 阅读(435) 评论(0) 推荐(0) 编辑
摘要:题意:有n张照片,每张照片上有一些妹子,要按照片顺序给妹纸安排男朋友,如果妹纸i安排的男朋友之前有女朋友,那么费用+wi,求总费用最小,和输出路径 题解:费用流,先把照片天数建点i连i+1,流量k(最多的男朋友数量),费用0,再把所有按照片顺序出现的妹纸拆点,自己流自己,流量1,费用 inf(保证要 阅读全文
posted @ 2018-11-20 21:14 walfy 阅读(353) 评论(0) 推荐(0) 编辑
摘要:题意:M台机器要生产n个糖果,糖果i的生产区间在(si, ti),花费是k (pi si),pi是实际开始生产的时间机器,j从初始化到生产糖果i所需的时间Cij,花费是Dij,任意机器从生产糖果i到生产糖果j,需花费时间Eij,花费Fij求生产完所有糖果所需的最小时间? 题解:先把糖果拆点,s向i糖 阅读全文
posted @ 2018-09-28 16:25 walfy 阅读(169) 评论(0) 推荐(0) 编辑
摘要:最大密度子图裸题,详情请见胡博涛论文: https://wenku.baidu.com/view/986baf00b52acfc789ebc9a9.html 不加当前弧优化t到死= = // pragma comment(linker, "/stack:200000000") // pragma G 阅读全文
posted @ 2018-07-22 23:15 walfy 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个字符串,和每个位置可能的字符(没有就可以放任意字符)要求一个排列使得每个位置的字符在可能的字符中,求字典序最小的那个 题解:很容易判断有没有解,建6个点表示从a f,和源点连边,容量为原串字符出现次数,再建64个点表示给定的位置的每一个状态,和汇点连边,容量为出现次数,如果a f某个字 阅读全文
posted @ 2018-07-19 23:22 walfy 阅读(164) 评论(0) 推荐(0) 编辑
摘要:板子题 当前弧优化版本 目前效率最高 // pragma comment(linker, "/stack:200000000") // pragma GCC optimize("Ofast,no stack protector") // pragma GCC target("sse,sse2,sse 阅读全文
posted @ 2018-07-19 09:36 walfy 阅读(144) 评论(0) 推荐(0) 编辑
摘要:"bzoj1834" 给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。 求: 1、在不扩容的情况下,1到N的最大流; 2、将1到N的最大流增加K所需的最小扩容费用。 Input 第一行包含三个整数N,M,K,表示有向图的点数、边数以及所需要增加的流量。 阅读全文
posted @ 2018-07-12 21:57 walfy 阅读(182) 评论(0) 推荐(0) 编辑
摘要:新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。在前期市场调查和站址勘测之后,公司得到了一共N个可以作为通讯信号中转站的地址,而 阅读全文
posted @ 2018-06-03 19:14 walfy 阅读(172) 评论(0) 推荐(0) 编辑
摘要:很巧妙的建边方式 题意:有n个区域,每个区域有一些人数si和食物bi,区域之间有m条定向路径,每条路径有人数通过上限ci。路径之间铺了电线,每当有人通过路径时有pi的概率会触碰到电线,但是第一个通过的人一定不会触碰到电线。求每个人都通过路径获取到食物后触碰到电线的最小概率。 解法:不碰到电线的概率比 阅读全文
posted @ 2018-05-03 11:43 walfy 阅读(206) 评论(0) 推荐(0) 编辑
摘要:同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。 费用流,把m个人中的每个人拆 阅读全文
posted @ 2018-04-14 17:13 walfy 阅读(143) 评论(0) 推荐(0) 编辑
摘要:A:水题,直接出答案(我因为括号打错地方wa了一发= =) //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC target("s 阅读全文
posted @ 2018-01-31 10:04 walfy 阅读(195) 评论(0) 推荐(0) 编辑
摘要:题意:给一堆点,一部分是牛,一部分是机器,每头牛必须要走到一个机器,每个点之间有距离,要求每头牛都能找得到一台机器(机器有最大容量)的情况下,走的最远的牛距离最小 题解:二分答案,小于该距离的边才能加进来,先用floyd预处理距离,然后跑最大流看满不满足条件 #include<map> #inclu 阅读全文
posted @ 2017-11-13 20:16 walfy 阅读(193) 评论(0) 推荐(0) 编辑
摘要:题意:给你一张二分图,求右边点到汇点的最小容量(保证流量为n)是多少 题解:二分答案,每次重新建边跑最大流,看是不是为n就好了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<v 阅读全文
posted @ 2017-11-13 15:42 walfy 阅读(205) 评论(0) 推荐(0) 编辑
摘要:题意:有源汇上下界最小流裸题,主要就是输入要用字符串的问题 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pii pair<in 阅读全文
posted @ 2017-11-09 18:34 walfy 阅读(148) 评论(0) 推荐(0) 编辑
摘要:题意:有一堆点和边,1起点,n终点,某些边有可能必须满流,要求满足条件的最小流 解法:按原图建边,满流的即上下界都是容量,但是这样按有源汇上下界可行流求出来的可能不是最小流,那么我们需要开始建边的时候不要建从t到s的边,先跑一边从ss到tt的最大流,然后把该边加上再跑一次从ss到tt的最大流,那么从 阅读全文
posted @ 2017-11-09 16:39 walfy 阅读(254) 评论(0) 推荐(1) 编辑
摘要:题意:给一些约束条件,要求算能否有可行流,ps:刚开始输入的是每一列和,那么就建一条上下界相同的边,这样满流的时候就一定能保证流量相同了,还有0是该列(行)对另一行每个点都要满足约束条件 解法:先按无源汇上下界可行流建边,然后添加一条从t到s的容量为inf的边,从超级源到超级汇跑一边最大流,看流量是 阅读全文
posted @ 2017-11-09 11:20 walfy 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题意:有一个人每天给妹子拍照,每个妹子有最少拍照数,每天有最大拍照数,每天只能给某些特定的妹子拍照,求最大拍照数 题解:很容易看出来的有源汇上下界最大流,对于有源汇 的上下界最大流,我们按照无源汇的操作连边,然后从汇点连一条边到源点,容量无穷大,下界为0,从超级源ss到超级汇tt跑一遍最大流,求得的 阅读全文
posted @ 2017-11-08 20:05 walfy 阅读(178) 评论(0) 推荐(0) 编辑

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