链接:http://vjudge.net/problem/UVA-1658 分析:把2到v-1的每个节点i拆成i和i'两个结点,中间连一条容量为1,费用为0的边,然后求1到v的流量为2的最小费用流即可。 ...
分类:
其他好文 时间:
2016-09-25 12:05:00
阅读次数:
159
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51253【思路】 固定流量的最小费用流。 拆点,将u拆分成u1和u2,连边(u1,u2,1,0)表示只能经过该点一次。跑流量为2的最小费用流。【代码】 1 #inclu...
分类:
其他好文 时间:
2015-12-20 10:26:30
阅读次数:
204
题意:一个带权有向图,求起点到终点的两条路径权值之和最小,且两条路径没有公共点(除起点,终点);分析:拆点法,将u拆成u和u',u-u'容量为1,费用为0,这样就能保证每个点只用一次,起点s-s'容量为2,终点t-t'容量为2保证最大流会求出两条路径,若输入u-v,权为c,则增加边u'-v,容量为1...
分类:
其他好文 时间:
2015-09-22 21:47:06
阅读次数:
293
该题是一道比较简单拆点+最大流的题目,因为每个柱子都有一定的寿命,很容易将其对应成流量,那么处理结点容量的一般方法当然是拆点法 。该题反而对边的容量没有要求,为保险起见可以设成无穷大。 该题的思路很好想,建议独立编写代码 。
推荐题目: 点击打开链接 结点法的一些见解 也可以看这里。
细节参见代码:
#include
using namespace std;
typedef lon...
该题中的拆点法是解决几点容量的通用方法 。 因为只有容量限制的话仍然不能满足每个结点只访问一次这个限制 ,原因很简单,大家画个图就知道了,假设从起点有两条路到同一个结点2,然后又都到末点n,虽然它们满足流量限制但是经过了同一个结点。
那么怎么解决这个问题呢? 答案是:拆点法 。
将一个结点拆成两个结点,由真结点连一条容量为1费用为0的边到假结点,这样之后当我们加边的时候,另起始结点为假结点...
分类:
其他好文 时间:
2015-08-21 21:29:11
阅读次数:
172
Sequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1666 Accepted Submission(s): 614
Problem Description
There is a sequence X...
分类:
其他好文 时间:
2015-06-19 23:08:12
阅读次数:
715
题意:给出一个有向带权图,求从起点到终点的两条不相交路径使得权值和最小。分析:第一次听到“拆点法”这个名词。把除起点和终点以外的点拆成两个点i和i',然后在这两点之间连一条容量为1,费用为0的边。这样就保证了每个点最多经过一次。其他有向边的容量也是1然后求从起点到终点的流量为2(这样就保证了是两条路...
分类:
其他好文 时间:
2015-02-10 00:25:28
阅读次数:
279
National TreasuresTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1038 Accepted Submission(s): 36...
分类:
其他好文 时间:
2015-01-16 20:37:24
阅读次数:
135
National Treasures
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1038 Accepted Submission(s): 364
Problem Description
The great hall of...
分类:
其他好文 时间:
2014-08-05 03:05:58
阅读次数:
266