完全想不到。。第一眼以为是爆搜,看到数据范围果断放弃;第二眼以为是网络流(因为只有行列操作,我们将起点向重点连边然后设置容量等等麻烦的东西再跑最大流),觉得建模麻烦放弃数学。。。首先本题有个性质: 答案与移动方法无关(因为有行列限制并且是2个同时在同行同列移动,这样,只要这行这列有个点是终点,无论....
分类:
其他好文 时间:
2014-08-24 16:38:22
阅读次数:
247
n,m#include #include #include #include using namespace std;#define ll long long#define maxn 444#define maxe 55000#define inf 0x3f3f3f3fstruct Edge{ .....
分类:
其他好文 时间:
2014-08-24 16:37:12
阅读次数:
627
题目:hdoj 3605 Escape
分类:中等最大流 | 二分图多重匹配
题意:给出n个人和m个星球,每个人有想去的兴趣,然后每个星球有容量,问能不能让所有人都住在自己想去的星球?
分析:最大流的话卡的非常严,这个题目写了之后手写MTL,超内存,然后加入状态压缩之后TEL,后面没办法了看别人说C++提交能过,改C++Compilation Error,不容易呀,...
分类:
其他好文 时间:
2014-08-24 12:59:02
阅读次数:
193
题目:hdoj 4183 Pahom on Water
题意:题目有点长,读懂了就是个水的最大流,每次从789开始到400,走的话必须是两个圆相交而且频率递增的,每个点只走一次,求有没有满足这样条件的。
分析:题目读懂就比较水了。直接按照题目意思建图,初始点和结束点容量为2,其他点只走一次容量为1,然后求最大流。
AC代码:
#include
#include
...
分类:
其他好文 时间:
2014-08-24 11:44:42
阅读次数:
195
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4309题意:方法:用二进制枚举所有p>0的边是否修,然后按下面建图,跑最大流,输出最大的最大流及其对应的修桥费用建图:对于每个城市顶点i,连边S->i,流量为城市的人数如果pv,流量inf;u->T,流量w如...
分类:
其他好文 时间:
2014-08-24 01:31:52
阅读次数:
221
就当时最大流再次复习吧。。动手敲一下。。。经典解法不想说了。。这题主要是坑时间,10个提交7个tle。
环的判断,曾经用简单dfs方法,这次的就tle了!别人说要用很屌的dinic,我感觉自己dinic不可能超时,坚信是判断环慢了,于是学习了新断环的方法:删除点/边!从某点进去,若该点的所有边都遍历过还是无功而返,那么该店以后不用再进入了(这么简单的道感觉自己应该要想到啊!愚蠢啊!)开始时用只删...
分类:
其他好文 时间:
2014-08-23 23:01:41
阅读次数:
456
题目:hdoj 3572 Task Schedule
题意:有m台机器和n个任务,然后给出每个任务的开始时间和结束时间以及需要的天数,让你判断有没有这样条件的安排
分析:网络流题目,比较难想到的是把时间区间怎么在图里面建,其实是在这个区间的每个点都连一条边,建图方案。
超级源点s到每个任务 i 连边,容量为第 i 个任务需要的天数,然后每个任务向满足要求的日期连一条容量为1的...
分类:
其他好文 时间:
2014-08-23 19:05:41
阅读次数:
261
题目:hdoj 3549 Flow Problem
题意:给出一个图,让你求最大流。
分析:这个题目用dinci写的,因为点比较少,而dinci复杂度O(m*n^2),但是还是跑了160ms,不知道15的神牛怎么写的。
dinci的写法要注意的地方就是存图的时候要考虑怎么存,因为要更新网络残量,即反向的流量,所以这里要注意一下。
思想就不讲了,很多地方有讲。
代码:
#...
分类:
其他好文 时间:
2014-08-23 17:45:51
阅读次数:
252
题意:给出一个有向强连通图,每条边有两个值分别是破坏该边的代价和把该边建成无向边的代价(建立无向边的前提是删除该边)问是否存在一个集合S,和一个集合的补集T,破坏所有S集合到T集合的边代价和是X,然后修复T到S的边为无向边代价和是Y,满足Y
分析:无源汇有上下界可行流判定, 原来每条边转化成 下界为D 上界为 D+B ,判断是否存在可行流即可。
如果存在可行流 那么说明对于任意的...
分类:
其他好文 时间:
2014-08-23 17:44:41
阅读次数:
245
//刚开始乱搞。
//网络流求解,如果最大流=所有元素的和则有解;利用残留网络判断是否唯一,
//方法有两种,第一种是深搜看看是否存在正边权的环,见上一篇4888
//至少3个点构成的环,第二种是用矩阵dp,只需要满足某行的i列元素0,而另一行的i列元素>0,j列元素<9,
//可以满足互补就证明不唯一,这个画图不难看出
#include
#include
#include
using names...
分类:
其他好文 时间:
2014-08-23 16:49:11
阅读次数:
269