【POJ 3259】Wormholes
判断负环——BellMan/SPFA代码如下BellMan-Ford...
分类:
其他好文 时间:
2015-06-17 21:47:09
阅读次数:
201
题解:分数规划+判断负环。代码:#include
#include
#include
#include
#include
#define N 1010
#define M 5050
#define eps 1e-8
using namespace std;
double mid,fun[N];
str...
分类:
其他好文 时间:
2015-06-03 21:34:10
阅读次数:
162
题解:
分数规划Qwq。
然而它卡判点入n次的那种spfa判断负环。
于是有了一种黑科技:
我们从枚举点 i 开始 dfs ,然后扫到点 j 时,保持 i~j 这一条链上的点被标记,然后强行判断再扫一个点 k 时,是否会到这个链上,然后是不是能重新更新此点 k 与 i 的距离。。。
这个东西是指数级别时间复杂度的,然而却可以过这道题。
代码:
#include
#inclu...
分类:
其他好文 时间:
2015-06-03 17:36:28
阅读次数:
131
Description奶 牛们没钱了,正在找工作。农夫约翰知道后,希望奶牛们四处转转,碰碰运气。而且他还加了一条要求:一头牛在一个城市最多只能赚D(1 #include#include#include#include#include#include#include#include#include#i...
分类:
其他好文 时间:
2015-05-22 11:17:46
阅读次数:
111
spfa普通版就不写了,优化还是要的昂,spfa是可以判负环,接受负权边和重边的,判断负环只需要另开一个数组记录每个结点的入队次数,当有任意一个结点入队大于点数就表明有负环存在 1 #include //spfa基本上要这些头文件 2 #include 3 #include 4...
分类:
其他好文 时间:
2015-04-24 22:21:38
阅读次数:
213
题意:给出n个点,m条正权的边,w条负权的边,问是否存在负环因为Bellman_ford最多松弛n-1次, 因为从起点1终点n最多经过n-2个点,即最多松弛n-1次,如果第n次松弛还能成功的话,则说明存在有负环 1 #include 2 #include 3 #include 4 #inc...
分类:
其他好文 时间:
2015-04-10 11:00:10
阅读次数:
145
Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a o...
分类:
其他好文 时间:
2015-03-15 00:42:32
阅读次数:
205
一:邻接矩阵版本SPFA//如果要判断负环的话加一个记录入队的数组就行,当入队次数大于n的时候出现负环
int d[MAXN],vis[MAXN],w[MAXN][MAXN];
int n;
void SPFA(int s)
{
fill(d,d+n,INF);
d[s]=0;
queue q;
q.push(s);
while(!q.empty())
...
分类:
其他好文 时间:
2015-03-04 22:46:42
阅读次数:
211
Wormholes
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 32111
Accepted: 11662
Description
While exploring his many farms, Farmer John has discovered a...
分类:
其他好文 时间:
2014-12-08 12:27:31
阅读次数:
237
会建图,然后使用标准的Bellman Ford算法,判断负环就解决了。
不过本题实际应用不是计算负环,而是计算最大值,也就是求出源点到所有点的最大收益值之后,然后判断是否可以进一步增加收益,如果可以那么证明有环可以不断反复走这个环,不断增加收益,实际就是判负环的应用了。
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-09-02 10:32:24
阅读次数:
240