题意:n个点m条边的图,求至少摧毁多少点可以使得从1到n的路径大于k。
思路:先预处理求出最短路,还要拆点,i与i‘之间连一条权为1的边,若边(u,v)满足dist1[u]+dist1[v]<k则添加 u‘ 到 v 的边,权为INF,求一次最大流即可。...
分类:
其他好文 时间:
2015-04-29 10:02:06
阅读次数:
154
解题报告 之 POJ 3463 ACM Computer Factory 有陷阱 拆点...
分类:
其他好文 时间:
2015-04-22 18:35:44
阅读次数:
408
解题报告 之 UVA563 Crimewave 最大流 拆点...
分类:
其他好文 时间:
2015-04-21 22:48:44
阅读次数:
166
解题报告 之 POJ 2391 Ombrophobic Bovines 最大流 拆点...
分类:
其他好文 时间:
2015-04-21 09:53:56
阅读次数:
201
根据这题可以总结出处理网络流问题中需要“跳过”某一节点的办法(跳过是指需要占用经过某一节点但又不占用其流量):1.floyd求全局最优路径建图前直接跳过。2.拆点成A-A1,A-A1是经过该点的实际流量,并由A1流出相同的流量。+oo流进A,A->B1走需要跳过的流量。
代码:
//poj 2112
//sep9
#include
#include
#include
using name...
分类:
其他好文 时间:
2015-04-18 16:13:33
阅读次数:
158
最小点覆盖集的裸题,只要“拆点建边”然后求出最大匹配,则:最小点覆盖集的大小 = 点数 - 最大匹配 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int N = 121; 7 const int M = ...
分类:
其他好文 时间:
2015-04-18 01:00:46
阅读次数:
162
跑出最短路图,然后把结点拆点跑最大流。#include#include#include#include#includeusing namespace std;#define M 100001#define INF 2147483647#define N 501typedef long long ll...
分类:
其他好文 时间:
2015-04-14 08:27:42
阅读次数:
145
Language:DiningTime Limit:2000MSMemory Limit:65536KTotal Submissions:10321Accepted:4744DescriptionCows are such finicky eaters. Each cow has a prefere...
分类:
其他好文 时间:
2015-04-11 14:45:13
阅读次数:
116
题解:
……两遍最短路然后判断哪些边可以在某条最短路上,然后加到网络流图中。
然后题意是一个点经过流量有限制,拆点就好。
然后有重边Qwq(调了好久。。。)
然后或许有自环,不过这并不影响什么。
代码:
调试过程中代码风格已经狗一样。
看到 long long i;i
#include
#include
#include
#include
#include
#defi...
分类:
其他好文 时间:
2015-04-07 17:44:11
阅读次数:
126
题目大意见http://pan.baidu.com/s/1o6zajc2
用Dijkstra跑出最短路图,然后拆点跑网络流即可
这水题我TM还WA了两次是不是省选要滚粗了
#include
#include
#include
#include
#define M 1010
#define S 0
#define T (M-1)
#define INF 0x3f3f3f3f3f3f3f...
分类:
其他好文 时间:
2015-04-07 13:51:05
阅读次数:
136