POJ 1698 Alice's Chance 题目链接 题意:拍n部电影。每部电影要在前w星期完毕,而且一周仅仅有一些天是能够拍的,每部电影有个须要的总时间,问能否拍完电影 思路:源点向每部电影连边,容量为d,然后每部电影相应能拍的那天连边,因为每天容量限制是1。所以进行拆点,然后连向汇点就可以 ...
分类:
其他好文 时间:
2017-05-05 14:21:37
阅读次数:
202
1066 思路: 网络流最大流; 拆点,每个点拆成两个,流量为这个点的高度; 注意,文中说的距离是曼哈顿距离(劳资以为开根号wa了不知道多少次); 每两个距离不大于d的点连边,流量inf; 如果距离能够延伸到边界外,就将这个点连向t; 最后输出,蜥蜴个数减去最大流; 来,上代码: ...
分类:
其他好文 时间:
2017-04-16 11:23:07
阅读次数:
186
Marriage Match III Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1971 Accepted Submission(s): ...
分类:
其他好文 时间:
2016-08-01 12:30:07
阅读次数:
196
最大流,拆点
题意:@可以无限走,*人的初始位置,其他人不能走。~水,不能走, ...只能走一次,#终点,可以容纳的人数为p;问最多有多少人获救(到达了#)
这道题是最大流问题,主要是要去构建图。怎么构建图呢?主要是用拆点,把一个点拆成两个点,点(i,j)可以表示为:前点(i-1)*A+j,后点(i-1)*A+j+M(M为一个较大的数,保证M大于等于S*A就行),然后连接前点和后点,方向是从前点到后点,@和#他们的前点和后点边的权值设置无穷大。
相邻的点,图是无向的,用该点的后点连接相邻点的前点,如果是相邻...
分类:
其他好文 时间:
2016-05-07 10:38:40
阅读次数:
172
题目大意:有一种商品X,其每每单位存放一个月的代价I固定。并且已知其每月的最大生产量、生产每单位的的代价、最大销售量和销售单价,还已知每个月生产的X能最多能存放的时间(以月为单位)。问只考虑前m个月,最多能获得多少利润。题目分析:增加源点s和汇点t,将每一个月视作一个节点。建立图模型如下:将每一个节...
分类:
其他好文 时间:
2015-12-15 01:05:52
阅读次数:
226
一, 最大流 1)拆点 ①满足个体自身的限制 POJ 3281 Dining 最多多少奶牛可以选到心仪的食物和饮料。 因为每个奶牛对答案的贡献至多为一, 所以把每头奶牛拆成两个点, 连一条容量为一的边就可以了。 SPOJ 962 Intergalactic Map 这...
分类:
其他好文 时间:
2015-10-08 14:36:44
阅读次数:
280
该题是一道比较简单拆点+最大流的题目,因为每个柱子都有一定的寿命,很容易将其对应成流量,那么处理结点容量的一般方法当然是拆点法 。该题反而对边的容量没有要求,为保险起见可以设成无穷大。 该题的思路很好想,建议独立编写代码 。
推荐题目: 点击打开链接 结点法的一些见解 也可以看这里。
细节参见代码:
#include
using namespace std;
typedef lon...
最大流+拆点#include#include#include#include#include#include#includeusing namespace std;const int maxn = 2000 + 10;const int INF = 0x7FFFFFFF;struct Edge{ ....
分类:
其他好文 时间:
2015-08-25 23:07:03
阅读次数:
230
最大流+拆点#include#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;const int INF=0x7FFFFFFF;struct Edge{ int ...
分类:
其他好文 时间:
2015-08-19 11:06:27
阅读次数:
149
拆点,每个点拆成 i,i'在i 和i‘之间连一条费用为0,容量为1的边,就可以保证每个点只经过一次特殊的点,1和n之间,,,n和2*n之间连一条费用为0,容量为2的边,可以求出两条路径 1 #include 2 #include 3 #include 4 #include 5 #inclu...
分类:
其他好文 时间:
2015-08-17 21:36:04
阅读次数:
132