费用流
文章平均质量分 77
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ4514 [Sdoi2016]数字配对
把每个点拆成两个分别在左右两边,只要两两之间能发生关系就在左右之间连边,容量为无穷,费用为代价,源连左边每个点容量为数量,费用0,右边每个点连汇容量为数量,费用为零,跑费用流,流到费用为非负的极限,最小费用最大流贪心流是正确的,非负费用最大流贪心流也一定是正确的 #include #include #include #include #include #include #include #inc原创 2016-04-30 13:44:12 · 1455 阅读 · 0 评论 -
BZOJ3130 [Sdoi2013]费用流
瞎YY一下发现显然在方案确定的情况下把所有费用分配在流量最大的边上最优,于是只要二分最大流量每次容量和二分的值取min跑最大流看是否和原最大流相等即可。 流量可以是小数!!坑死我了,我还以为保留小数是逗你玩呢 #include #include #include #include #include #include #include #include #include #include #in原创 2016-06-11 16:07:32 · 846 阅读 · 0 评论 -
BZOJ3442 学习小组
先不考虑他让参与人数最多,我们可以S连每个人流量k费用0,每个人连能去的小组,流量1费用手续费,小组连T,拆边建费用 考虑让参与人数最多,每个人连T流量k-1费用为0,意义是在他参加了社团的情况下他可以把加入社团的机会让给别的没有社团的人 #include #include #include #include #include #include #include #include #inclu原创 2016-07-09 16:12:12 · 626 阅读 · 0 评论 -
BZOJ2557 [Poi2011]Programming Contest
我们可以想到费用流做法,S连每个人一堆边流量1费用是他做第x道题的罚时,每道题连T流量1费用0,人连题流量1费用0 但是跑费用流会T 我们可以把S到人的边按权值从大到小排序后跑匈牙利,因为匈牙利会保证之前选上的不会被放弃,并且这里肯定不会走有费用的反向边,也就相当于每次贪心走了最短路 记得做上m道题之后及时break #include #include #include #include原创 2016-08-24 11:45:45 · 753 阅读 · 0 评论 -
BZOJ2424 [HAOI2010]订货
还以为是傻逼题,结果发现仓库还有容量-_- 看看数据范围,一副网络流的样子 S连每个点,容量INF,费用进货代价 每个点连T,容量需求量,费用0 除了最后一个点每个点连下一个点,容量仓库容量,费用存储费用 跑最小费用最大流 #include #include #include #include #include #include #include #include #include #原创 2016-08-12 10:18:27 · 971 阅读 · 0 评论 -
BZOJ1283 序列
这个算是经典建模裸题了吧?然而还是没秒掉 使得每个长度为m的子串中选不超过k个,可以视为选k个子序列,每次选的时候相邻两个的位置差>m 那么每个点连后一个点费用0流量INF,连往后数m个点(如果超数组长度了就连T)费用a[i]流量1,S连1号点流量k费用0,跑最大费用流即可 #include #include #include #include #include #include #incl原创 2017-05-18 18:30:05 · 552 阅读 · 0 评论 -
BZOJ4849 [Neerc2016]Mole Tunnels
考虑如果给定一个K算答案怎么算,我们可以费用流,每个树边建流量INF费用1,每个点向T连流量c[x]费用0,对于前k个鼹鼠,S向每个鼹鼠出现的位置连一个流量1费用0的边,然后跑最小费用最大流即可求出最小代价 那么如果是对于每个K都要求的话,我们可以考虑令S连向第i个鼹鼠出现位置的边费用为(m-i+1)*INF,这样的话第i次曾广一定会走第i个鼹鼠出现的位置,那么増广i次之后得到的就是前i个鼹鼠的原创 2017-05-18 19:05:52 · 674 阅读 · 0 评论