题目:hdoj 4975 A simple Gaussian elimination problem.
这个题目跟hdoj 4888 一样,只是数据加强了一点,这个题目确实出的不好,尤其数据,争议比较大,但是同时也说明优化有时候还是很有用的。
不懂的可以看这个讲解:点击
这个题目只是加了一点优化,就是判断的时候加入是行和为0,或者满的话,就跳出不用判断,然后就300ms过了。真心牛...
分类:
其他好文 时间:
2014-08-26 11:36:35
阅读次数:
224
思路:这题刚开始看就知道是最小费用最大流了,因为求出最优嘛,而且要m,H要一一对应,所以不是二分图匹配就是最小费用最大流。
不过,刚开始还在想每个m与H之间的最小花费如何求,难道要用dfs搜索吗?这样想之后看了下题目给的时间是1000ms,然后就把dfs搜索m与H之间的最短距离排除了。然后想了想,其实尼玛太简单了,因为题目说了只能垂直与竖直的走,所以最短距离不就是两个横坐标相减与两个纵坐标相减之...
分类:
其他好文 时间:
2014-08-25 22:57:35
阅读次数:
291
题目:hdoj 3046 Pleasant sheep and big big wolf
题意:一个矩阵,1表示羊,2表示狼,然后让把羊和狼隔开,问需要最小的栅栏、
分析:标准的最小割
最小割:一个图中,删去容量最小的边使得从 s 到 t 没有路径。
最小割 = 最大流
建图:
首先编号
相邻点建边 1
s 到 羊 无穷
t 到 狼 无穷
(这个题目数据比较水...
分类:
其他好文 时间:
2014-08-25 21:16:54
阅读次数:
359
题目大意:给出n个客户对k个商品的需求量,又给出m个仓库对k个物品的存货量以及对k个物品从i仓库到j客户的一个物品的运费价格,让判断是否可以满足客户需求,然后就是如果满足求出最小的运费,是典型的最小费用最大流!
思路:可以将k中物品分开求最小费用最大流,然后想加得到总的最小费用最大流!
建图,对每个仓库是一个结点,每个客户也是一个结点,除此之外再加上s源点和t结束点!
1、s到仓库i...
分类:
其他好文 时间:
2014-08-25 21:10:34
阅读次数:
230
题目:hdoj 3338 Kakuro Extension
定义:神级最大流(各种错误无数次,整整一天)
题意:一个游戏,这个游戏给出一个矩阵,有些矩阵里面有两个数,前面一个数表示从下一行到下一个出现数字行的所有数字和(当前这一列),而第二个数表示从下一列到下一个出现数字的列(当前这一行),让你填入满足条件的数字的矩阵(1---9),可以重复(最大流条件)。
分析:首...
分类:
其他好文 时间:
2014-08-25 19:16:14
阅读次数:
270
解题报告二分图第一题。题目描写叙述:为了參加即将召开的会议,A国派出M位代表,B国派出N位代表,(N,M#include #include #include #define N 1050#define M 1050using namespace std;int mmap[M][N],vis[N],p...
分类:
其他好文 时间:
2014-08-25 19:00:14
阅读次数:
289
思路:刚开始看的时候还不知道这题用最小费用最大流来做,因为里面没有流量啊,只有费用。而题目要求从1到n,再从n到1的时候两条路径不能同享一条路径,所以流量就从这来了。
因为两条路不同,所以设两点之间流量为1,建立超级源点和超级汇点的流量都为2就可以保证两条路径不同了,以前做最大流的时候还不知道原来流量有这功能,惭愧啊……
然后用最小费用最大流算法搞一下就A了。先用spfa求出最小费用的路径,这...
分类:
其他好文 时间:
2014-08-25 17:07:04
阅读次数:
169
HDU4862 这题说的是在一个n*m的格子内 你有K次机会选择起始的点,选择的点不能使以前用过的 ,然后选择后你可以往右 跳几步 也可以往下跳几步 但是只能要不往右 要不就往下 不能两个同时成立比如说 (1,1) 不能跳到(2,3);然后得到了 我们通过 拆点可以将他们分离开来保证只用一次,然后将...
分类:
其他好文 时间:
2014-08-25 16:53:44
阅读次数:
224
解释:每次在s-t之间找出费用最小的一条路径即单源最短路,如果t点不再被访问到,则算法终止。否则,按着最短路径找出最小剩余容量c,最大流量加上c,再更新最短路径上的边,前向弧减去c,反向弧加上c,并且造一条逆向的费用边,最小费用加上每条边的花销,每条边的花销=单位费用*c。
最小费用最大流既能求最小费用,又能得出最大流,是更为一般的模型。
模板:
#define maxn 200...
分类:
其他好文 时间:
2014-08-25 15:01:24
阅读次数:
180
我又思考人生了T_T,nd的数组开小了,一直wa,调了一个小时才发现啊!!!!!我一直以为我的isap错了T_T,可是完全没错啊!!!!这题其实第一个问很简单,跑一次最大流即可。第二个问就是在跑完最大流的残量网络上每条边都扩充容量为oo,费用为边的费用,然后设个超级源连一条容量为k的边到点1,再跑一...
分类:
Web程序 时间:
2014-08-25 13:20:44
阅读次数:
234