BZOJ1221:http://www.lydsy.com/JudgeOnline/problem.php?id=1221 trick:将每天用完的,和要用的分来开处理,避免花费的重叠计算,也就是拆点 #include<bits/stdc++.h> using namespace std; #pra ...
分类:
其他好文 时间:
2017-05-09 20:48:33
阅读次数:
198
POJ 1698 Alice's Chance 题目链接 题意:拍n部电影。每部电影要在前w星期完毕,而且一周仅仅有一些天是能够拍的,每部电影有个须要的总时间,问能否拍完电影 思路:源点向每部电影连边,容量为d,然后每部电影相应能拍的那天连边,因为每天容量限制是1。所以进行拆点,然后连向汇点就可以 ...
分类:
其他好文 时间:
2017-05-05 14:21:37
阅读次数:
202
题目链接:https://www.oj.swust.edu.cn/problem/show/1739 从1开始枚举球的个数,每次从残余网络更新总流量,最小路径覆盖刚好大于n时ret-1便是最多球。 之后根据容量为0的边找回匹配边即可。 用x << 1和x << 1 | 1拆点 比较方便。 ...
分类:
其他好文 时间:
2017-05-02 10:02:21
阅读次数:
227
思路: 把牛拆点; s向食物连边,流量1; 饮料向t连边,流量1; 食物向牛1连边,流量1; 牛2向饮料连边,流量1; 最大流; 来,上代码: ...
分类:
其他好文 时间:
2017-04-30 19:57:15
阅读次数:
221
【bzoj1066】: [SCOI2007]蜥蜴 把石柱拆点,流量为高度 然后S与蜥蜴连流量1的边 互相能跳到的石柱连inf的边 石柱能到边界外的和T连inf的边 然后跑dinic就好了 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdl ...
分类:
其他好文 时间:
2017-04-22 00:19:25
阅读次数:
231
【bzoj4514】: [Sdoi2016]数字配对 好像正常的做法是建二分图? 我的是拆点然后 S->i cap=b[i] cost=0 i'->T cap=b[i] cost=0 然后能匹配的两点i,j 连 i->j' cap=inf cost=c[i]*c[j] 跑最大费用流,直到 cost< ...
分类:
其他好文 时间:
2017-04-22 00:12:36
阅读次数:
262
1066 思路: 网络流最大流; 拆点,每个点拆成两个,流量为这个点的高度; 注意,文中说的距离是曼哈顿距离(劳资以为开根号wa了不知道多少次); 每两个距离不大于d的点连边,流量inf; 如果距离能够延伸到边界外,就将这个点连向t; 最后输出,蜥蜴个数减去最大流; 来,上代码: ...
分类:
其他好文 时间:
2017-04-16 11:23:07
阅读次数:
186
Special Fish Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2367 Accepted Submission(s): 878 Pr ...
分类:
其他好文 时间:
2017-04-07 18:33:58
阅读次数:
315
二分图的最小点权覆盖。 非常感谢巨巨@islands_的解答,还帮我画了一个图。 题目保证给出的边构成的图是一个二分图。 如果没有第三种类型的$frog$,那么问题就很简单了。即选择哪些点,覆盖住所有的边,并且要求选择的点的权值之和最小。可以转换成网络流来解决。 现在有第三种类型的$frog$,可以 ...
分类:
其他好文 时间:
2017-03-31 16:55:15
阅读次数:
169
【解题思路】 考虑拆点,得到一个二分图:左边点<i,j>表示第i个技师按顺序第j辆修的车,右边点k表示第k个车主,连接左右的边表示第k个车主可能成为第i个技师的第j个客户。 虽然是二分图,但直接跑匈牙利会跪,于是考虑费用流,左图都和源点连边,右图都和汇点连边,跑个流即可。复杂度O(松)。 【参考代码 ...
分类:
其他好文 时间:
2017-03-26 18:01:56
阅读次数:
271