POJ 3159 Candies
2016-08-13 11:05
267 查看
一道求最短路的题,时间卡得很紧,需要用优先队列(堆)来优化。
// // main.cpp // Richard // // Created by 邵金杰 on 16/8/13. // Copyright © 2016年 邵金杰. All rights reserved. // #include<cstdio> #include<queue> #include<cstring> #include<vector> using namespace std; int vis[30100]; int n,m; struct node{ int k,w; }; bool operator < (const node &p,const node &q) { return p.w>q.w; } priority_queue<node> pq; vector<vector<node> > v; void dijkstra() { memset(vis,0,sizeof(vis)); node p; p.k=1;p.w=0; pq.push(p); while(!pq.empty()) { p=pq.top(); pq.pop(); if(vis[p.k]) continue; vis[p.k]=1; if(p.k==n) break; for(int i=0,j=(int)v[p.k].size();i<j;i++) { node q;q.k=v[p.k][i].k; if(vis[q.k]) continue; q.w=p.w+v[p.k][i].w; pq.push(q); } } printf("%d\n",p.w); } int main() { while(scanf("%d%d",&n,&m)!=EOF) { v.clear(); v.resize(n+1); int a,b,c; node p; for(int i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&c); p.k=b;p.w=c; v[a].push_back(p); } dijkstra(); } return 0; }
相关文章推荐
- POJ3159_Candies_差分约束_SPFA
- POJ 3159 Candies
- POJ 3159 Candies(差分约束系统)
- poj 3159 Candies 差分约束
- poj 3159-Candies
- POJ 3159 Candies(SPFA+栈)差分约束
- POJ 3159 Candies(差分约束)
- POJ-3159 Candies
- poj 3159 Candies 邻接表+优先级队列+dijkstra
- POJ 3159 Candies(差分约束+SPFA )
- POJ 3159 Candies (差分约束 Dijkstra+优先队列 SPFA+栈)
- POJ 3159 - Candies(查分约束)
- POJ 3159 Candies(spfa最短路,差分约束)
- poj 3159 Candies
- [poj 3159]Candies[差分约束详解][朴素的考虑法]
- poj--3159--Candies(简单差分约束)
- poj 3159 Candies 差分约束
- POJ训练计划3159_Candies(差分约束)
- POJ -- 3159 Candies
- POJ 3159 Candies(差分约束系统)