POJ 3259 判断负圈
来源:互联网 发布:仙剑奇侠传6激活码淘宝 编辑:程序博客网 时间:2024/04/29 09:23
题意
- 图中两种边,一种正权值双向边,一种负权值单向边
- 问是否存在负圈
思路
- 简单模板题,SPFA如果有节点入队超过节点数次,则存在负圈
实现
#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <queue>#include <algorithm>using namespace std;const int maxn = 505;vector<pair<int,int> > g[maxn];queue<int> q;int dist[maxn];int inQ[maxn], nums[maxn];int n,m;bool SPFA(int s){ memset(inQ,0,sizeof(inQ)); memset(nums,0,sizeof(nums)); memset(dist,0x3f,sizeof(dist)); while (q.size()) q.pop(); dist[s] = 0; inQ[s] = 1; nums[s] = 1; q.push(s); while (q.size()){ int u = q.front(); inQ[u] = 0; q.pop(); for (int e = 0; e< g[u].size();e++){ int v = g[u][e].first; int w = g[u][e].second; if (dist[v] > dist[u] + w){ dist[v] = dist[u] + w; if (inQ[v] == 0){ q.push(v); inQ[v] = 1; nums[v]++; if (nums[v] > n){ return false; } } } } } return true;}int main(){ int w; int T; cin>>T; while (T--){ scanf("%d%d%d",&n,&m,&w); for (int i=0;i<n;i++){ g[i].clear(); } for (int i=0;i<m;i++){ int u,v,a; scanf("%d%d%d",&u,&v,&a); g[u-1].push_back({v-1,a}); g[v-1].push_back({u-1,a}); } for (int i=0;i<w;i++){ int u,v,a; scanf("%d%d%d",&u,&v,&a); g[u-1].push_back({v-1,-a}); } if (SPFA(0)){ puts("NO"); }else{ puts("YES"); } } return 0;}
0 0
- POJ 3259 判断负圈
- poj 3259 Wormholes (判断图是否存在负圈)
- poj 3259 spfa/bellman判断负圈(虫洞)
- poj 2175 Evacuation Plan 最小费,判断负圈的存在
- POJ 3259 SPFA判断负权回路
- poj 3259 (Bellman_Ford判断负环)
- POJ:3259 Wormholes(SPFA判断负环)
- 【bellmanford 】poj 3259 判断负环
- POJ 3259 Wormholes 【SPFA 判断负环】
- POJ 3259 Wormholes 判断负环
- poj 3259 Wormholes 【判断负环】
- poj 3259 Wormholes 【SPFA&&判断负环】
- Poj 3259 Wormholes【spfa 负环判断】
- poj 3259 Wormholes(判断负环)
- POJ 3259 Wormholes SPFA 判断负环
- 【POJ 3259】Wormholes (SPFA 判断负环)
- Bellman-Ford最短路径和负圈判断
- 【最短路】 ZOJ 1544 Currency Exchange 判断负圈
- 使用UITextFiled收回键盘的几种方法
- 公共技术点之 Android 动画基础
- Web前端调试利器—FireBug使用方法推荐
- BZOJ3060: [Poi2012]Tour de Byteotia
- 视频码率,帧率和分辨率的联系与区别
- POJ 3259 判断负圈
- hibernate学习笔记(1)
- iOS 项目中出现内存警告
- 项目-4-用二进制文件处理学生成绩
- Java源码-任意字符的Unicode查询
- 学习心得(Android之WakeLock机制分析)
- 随机化算法
- mysql数据库的基础知识
- ListView的局部刷新