
spfa
zhhx2001
这个作者很懒,什么都没留下…
展开
-
网络流24题——软件补丁问题(spfa+位运算)
1.用unsigned int表示集合,与int分开2.位运算100万个状态,这种状态之间是可以转移,有转移费用,求原点到终点的最短费用类似,直接最短路搞起#include#include#include#include#include#include#define debug(x) cout<<#x<<"="<<x<<endlusing namespace std;con原创 2016-07-28 15:35:28 · 595 阅读 · 0 评论 -
bzoj3436(差分约束系统)
递归版的spfa,不了解其性质#include#include#include#include#include#includeusing namespace std;const int inf=0x3f3f3f3f;const int N=50005;int n,m;int head[50005],tot,dis[N],tt[N],flag;struct aa{ i原创 2016-08-21 10:41:25 · 434 阅读 · 0 评论 -
bzoj1731(差分约束系统,重点!)
这题就是裸的差分约束,但是特殊情况的判定值得学习。1:文中说“如果不存在满足要求的方案,输出-1;”bzoj2330中也说“如果不能满足小朋友们的所有要求,就输出-1。”不满足要求,在这类题中就表示,题目的信息是有矛盾的。其实就是,如果我们发现了负环,就说明:题目的信息有矛盾!2:文中说 "如果1号奶牛和N号奶牛间的距离可以任意大,输出-2"就是说信息无原创 2016-08-21 13:00:33 · 1032 阅读 · 0 评论 -
差分约束的学习
http://www.cnblogs.com/void/archive/2011/08/26/2153928.html很好的概述实际上就是,这个系统通过,建图找最短路来解;模版题poj3159#include#include#include#include#include#include#includeusing namespace std;const int i原创 2016-04-29 21:24:26 · 346 阅读 · 0 评论 -
poj1511(spfa)
题目大意:给出n个点和n条有向边,求所有点到源点1的最短路之和,加上源点1到所有点的最短路之和。到其他点的最短路之和,只需要跑最短路就行,这是个有向图,其他点到这个点的最短路和前面的是不一样的。关于第二问,显然的方法是,每一个点都跑一次最短路。复杂度也是显然不能接受。很巧妙的是,只要我们将所有的边反向连,再跑spfa就是第二问的最短路了。 #include#include#原创 2016-09-04 16:50:16 · 428 阅读 · 0 评论