hdu6181 2017多校最短路(复习了一拨儿次短路)
来源:互联网 发布:淘宝一键上传好不好 编辑:程序博客网 时间:2024/05/17 08:10
#include<cstdio>#include<queue>#include<algorithm>#include<cstring>using namespace std;const int maxn = 5000+50;const int maxm = 100000+10;const int inf = 5000*5000;int n;struct node{ int to; int next; int w; node(){} node(int a,int b,int c):to(a),next(b),w(c){}}edge[maxm<<1];struct Edge{ int id; int dist; Edge(int a,int b):id(a),dist(b){} bool operator < (const Edge& T) const{ return dist>T.dist; }};int tot,head[maxn];int dist1[maxn]; int dist2[maxn];void add_edge(int a,int b,int c){ edge[tot] = node(b,head[a],c); head[a] = tot++;}int dij(){ for(int i=0;i<=n;i++) dist1[i] = inf,dist2[i] = inf; priority_queue<Edge>q; dist1[1] = 0; q.push(Edge(1,0)); while(!q.empty()) { Edge fr = q.top() ; q.pop(); int u = fr.id; if(dist2[u]<fr.dist) continue; for(int i=head[u];i!=-1;i=edge[i].next) { int v = edge[i].to; int d = fr.dist + edge[i].w; if(dist1[v]>d) { swap(dist1[v],d); q.push(Edge(v,dist1[v])); } if(dist1[v]<d&&dist2[v]>d) { dist2[v] = d; q.push(Edge(v,dist2[v])); } } } return dist2[n];}int main(){ int m,u,v,w; scanf("%d%d",&n,&m); tot = 0; memset(head,-1,sizeof(head)); for(int i=0;i<m;i++) { scanf("%d%d%d",&u,&v,&w); add_edge(u,v,w); add_edge(v,u,w); } printf("%d\n",dij()); return 0;}
阅读全文
0 0
- hdu6181 2017多校最短路(复习了一拨儿次短路)
- HDU6181 SPFA变形(求次最短路)
- hdu6181 Two Paths(次短路)
- hdu6181次短路
- HDU6181 Two Paths【次短路】
- hdu6181 第k短路 Dijkstra(优先队列优化)+A* 2017多校1011
- 2017多校联合第四场1011/hdu6181(次短路)
- hdu6181 Two Paths 次短路模板
- HDU6181 Two Paths(次短路,路径记录,spfa,2017 HDU多校联赛 第10场)
- hdu6181 How Many Paths Are There(次短路条数[模板])
- 【hdu6181】Two Paths(次短路----每条边经过不止一次)
- HDU6181-Two Paths【A*算法or次短路】
- (复习)图论--最短路--SPFA算法
- (复习)图论--最短路--Floyd算法
- (复习)图论--最短路--Dijkstra算法
- 最短路复习
- 求最短路即次短路模板,一条边可以重复走的HDU6181
- hdu6181-启发式搜索A*|次短路模板|最短路枚举-Two Paths
- python基础
- Cisco Auditing Tool ----思科路由漏洞扫描
- myeclipse中的小红叉
- 【结论+简单几何】HDU6147 Pokémon GO II
- 框架搭建
- hdu6181 2017多校最短路(复习了一拨儿次短路)
- 腾讯大牛教你web前后端漏洞分析与防御-信息泄露
- mysql使用笔记
- How does maven work?
- 程序员的5年奋斗历程与规划
- python --- paramiko模块
- android开发之Toast
- ORA-04091错误解决
- webpack2+angular2 按需加载,优化首屏速度