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