#include
using namespace std;
int n,m;
int spfa_bfs(){
int d[100] = {0};
int c[100] = {0};
int vis[100] = {0};
for(int i = 0;i < n;i++){
d[i] = INF;
}
d[s] = 0;
queue que;
que.push(s);
c...
分类:
其他好文 时间:
2015-07-24 10:46:10
阅读次数:
169
预处理出每个点上下左右能延伸到的最远点以及到它们的距离的最小值md。然后spfa,一个点除了可以以1的代价到达四周的点之外,还可以以md+1的代价到达四个方向能到达的最远点。#includeconst int N=1010,M=4194303;int n,m,i,j,z,x,y,loc[N][N][...
分类:
其他好文 时间:
2015-07-22 22:07:59
阅读次数:
162
题目保证最短路不止一条,求经过路径最少的最短路.
分析:如果数据小的话可以用floyed+Dp求出,在保证最短路的情况下更新路径少的情况即可,dis表示最短路,大盘dp[i,j]表示从i到j的最短路所需最少路径条数;但一旦数据大于300,很有超时危险,下面是一个小技巧:将边权乘以10^8后+1(注意乘以几要视数据大小而定),再用高效的spfa或堆优化的dijkstra来跑。
为什么呢?举个例子:...
分类:
其他好文 时间:
2015-07-22 19:02:17
阅读次数:
148
求边最少最短路
求最短路构成的边权为1的图的最大流两个 模板#include
#include
#include
#include
#include
#include
#include
#include
#include
#include <...
分类:
其他好文 时间:
2015-07-22 13:13:50
阅读次数:
99
http://poj.org/problem?id=3259DescriptionWhile exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very ...
分类:
其他好文 时间:
2015-07-21 10:35:43
阅读次数:
99
题意:给出一堆双向路,求从N点到1点的最短路径,最裸的最短路径,建完边之后直接跑dij或者spfa就行dij: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 typedef pair p...
分类:
其他好文 时间:
2015-07-21 01:30:21
阅读次数:
155
题意:给一个混合图,求判断是否有负环的存在,若有,输出YES,否则NO。有重边。思路:这是spfa的功能范围。一个点入队列超过n次就是有负环了。因为是混合图,所以当你跑一次spfa时发现没有负环,但是负环仍可能存在,因为有向边! 但是单源最短路也有起点啊,难道穷举起点?不用,负环是必须有某些边是带....
分类:
其他好文 时间:
2015-07-20 23:01:34
阅读次数:
122
Vasya has a very beautiful country garden that can be represented as ann?×?mrectangular field divided inton·msquares. One beautiful day Vasya remember...
分类:
其他好文 时间:
2015-07-20 16:07:30
阅读次数:
171
#include#include#include#include//greater 使得从小到大 ,less反//priority_queue, less > que 相当于 priority_queue que#includeusing namespace std;const int MAX =....
分类:
编程语言 时间:
2015-07-19 16:25:39
阅读次数:
263
orz云神...真的给跪了...BFS版spfa T 掉了...然后DFS版的就A了...我现在很迷茫....这就是个普通的差分约束...------------------------------------------------------------------------------#in...
分类:
其他好文 时间:
2015-07-18 19:48:26
阅读次数:
136