Dijkstra + priority_queue
来源:互联网 发布:网络主播座驾 编辑:程序博客网 时间:2024/06/06 13:17
模版
EOJ 最短路:http://acm.cs.ecnu.edu.cn/problem.php?problemid=1817
#include <cstdio>#include <deque>#include <set>#include <string>#include <map>#include <vector>#include <cstring>#include <iostream>#include <algorithm>#include <cmath>#include <queue>using namespace std;typedef long long LL;#define Debug(x) (cerr << #x << " = " << (x) << endl)#define Debug2(x, y) (cerr << #x << " = " << (x) << ", " << #y << " = " << (y) << endl)template<class T> inline T& RD(T &x){ char c; for (c = getchar(); c < '0'; c = getchar()); x = c - '0'; for (c = getchar(); '0' <= c && c <= '9'; c = getchar()) x = x * 10 + c - '0'; return x; }const int inf = 0x3f3f3f3f;const int maxn = 1001;//vector<int> g[maxn];int g[maxn][maxn];bool used[maxn];int dist[maxn];priority_queue<pair<int,int>, vector<pair<int,int> > ,greater<pair<int,int> > > q;int Dijkstra(int s,int e){memset(used,false,sizeof(used));memset(dist,0x3f,sizeof(dist));while(!q.empty())q.pop();dist[s] = 0;q.push(make_pair(0,s));while(!q.empty()){int u = q.top().second;int tt = q.top().first;if(u == e){return tt;}q.pop();if(used[u] == false){used[u] = true;for(int v=1;v<=e;v++){if(!used[v] && dist[u]+g[u][v] < dist[v]){dist[v] = dist[u] + g[u][v];q.push(make_pair(dist[v],v));}}}}return dist[e];}int main(){//Dijkstra(1);int n,m;while(~scanf("%d%d",&n,&m)){memset(g,0x3f,sizeof(g));for(int i=0;i<m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);g[a][b] = c;}int ans = Dijkstra(1,n);if(ans >= inf)ans = -1;printf("%d\n", ans);}}
- Dijkstra + priority_queue
- Dijkstra+priority_queue
- Dijkstra+Priority_queue
- 【模板】SPFA Dijkstra+Heap(priority_queue)
- HDU1535最短路 (SPFA/DIJKSTRA + priority_queue)
- POJ 1062 priority_queue + Dijkstra (临界表) 实现
- POJ 3268 Dijkstra+priority_queue或SPFA
- 最短路模板:使用priority_queue实现的Dijkstra算法
- HDU -- 3790 最短路径问题 (Dijkstra+priority_queue)
- CSU 1891: Full Tank?(dijkstra+priority_queue or dp?)
- CSU 1806 Toll(自适应Simpson公式+Dijkstra+priority_queue)
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- NetApp存储产品---知识笔记
- Python--阅读优秀的代码
- 学术英语写作
- linux内存寻址-笔记一
- Codeforces Round #148 (Div. 1)(A,B,C)
- Dijkstra + priority_queue
- extjs中grid,设置CheckboxSelectionModel的默认值
- IAR版本不兼容打开工程文件的方法
- jlink v8烧写固件
- DotNetNuke中理解{objectQualifier} {databaseOwner}
- struts2的s:iterator 标签 详解
- Hypertable on HDFS(hadoop) 安装
- 创业需要的是深思熟虑而不是冲动!
- iOS 笔试题 Sizeof与Strlen的区别与联系