BZOJ 2292 【POJ Challenge 】永远挑战 dijkstra
来源:互联网 发布:淘宝十元包邮专区在哪 编辑:程序博客网 时间:2024/05/22 13:07
Description
lqp18_31和1tthinking经常出题来虐ftiasch。有一天, lqp18_31搞了一个有向图,每条边的长度都是1。 他想让ftiasch求出点1到点N 的最短路。"水题啊。", ftiasch这么说道。
所以1tthinking把某些边的长度增加了1(也就是说,每条边的长度不是1就是2)。现在,可怜的ftiasch要向你求助了。
Input
第1行,两个整数 N (1 ≤ N ≤ 105) 和M (1 ≤ M ≤ 106), 点和边的数量。
第2到 M + 1行: 三个整数 Ui,Vi, Wi (1 ≤ Wi ≤ 2), 从点Ui 到 Vi 长度为 Wi 的边。
Output
一个整数,表示点1到点N的最短路。数据保证至少存在一条路径。
Sample Input
3 3
1 2 1
2 3 1
1 3 2
Sample Output
2
HINT
传送门
woc……加上快读各种WA+TLE……
去掉快读……各种AC……
????
dij比spfa快了40倍啊woc!
#include<bits/stdc++.h>using namespace std;int read(){int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;}const int N=100005,M=1000005;int Ecnt,n,m;int dist[N];bool vis[N];struct Heap{int num,val;};#define qq(a,b) (Heap){a,b}priority_queue<Heap,vector<Heap> >Q;bool operator <(Heap x,Heap y){return x.val>y.val;}struct Edge{ int next,to,val;}E[M];int head[N];void add(int u,int v,int w){ E[++Ecnt].next=head[u]; E[Ecnt].to=v; E[Ecnt].val=w; head[u]=Ecnt;}void dijkstra(int s,int t){memset(vis,0,sizeof(vis));memset(dist,100,sizeof(dist));dist[s]=0;Q.push(qq(s,0));while ((!Q.empty())){Heap mi=Q.top();Q.pop();if (vis[mi.num]) continue;vis[mi.num]=1;for (int j=head[mi.num];j;j=E[j].next){int q=E[j].to;if (vis[q]) continue;if (E[j].val+mi.val<dist[q]){dist[q]=E[j].val+mi.val;Q.push(qq(q,dist[q]));}}}}int main(){scanf("%d%d",&n,&m);int x,y,z;while (m--){scanf("%d%d%d",&x,&y,&z);add(x,y,z);}dijkstra(1,n);printf("%d\n",dist[n]);return 0;}
阅读全文
0 0
- BZOJ 2292 【POJ Challenge 】永远挑战 dijkstra
- BZOJ 2292: 【POJ Challenge 】永远挑战 最短路 dijkstra+heap
- bzoj 2292: 【POJ Challenge 】永远挑战 SPFA
- 【BZOJ】【P2292】【POJ Challenge】【永远挑战】【题解】【最短路】
- BZOJ2292: 【POJ Challenge 】永远挑战
- BZOJ2292——【POJ Challenge 】永远挑战
- 【bzoj 2288】【POJ Challenge】生日礼物
- BZOJ 2287: 【POJ Challenge】消失之物
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
- [BZOJ 2287][POJ Challenge]消失之物
- [乱搞] BZOJ 2296 [POJ Challenge] 随机种子
- BZOJ 2296 【POJ Challenge】随机种子 构造
- BZOJ 2287 【POJ Challenge】消失之物
- BZOJ 2287: 【POJ Challenge】消失之物
- poj 3255 次短路+dijkstra+挑战模板
- BZOJ 2288: 【POJ Challenge】生日礼物 贪心,堆 BZOJ 1150强化
- Python Challenge挑战一下
- 【BZOJ】【P2295】【POJ Challenge】【我爱你啊】【题解】【水题】
- mysql安装未设置密码 使用root账户登录报错
- 这六个理由告诉你学Java到底有多好!
- 【Halcon教程7】 halcon/c++接口基础 之 HALCON图像变量类
- Java常见异常总结
- mt7601的ap驱动在s5pv210开发板上的编译,装载及配置使用
- BZOJ 2292 【POJ Challenge 】永远挑战 dijkstra
- 【NOIP2017提高A组模拟10.5】Ping
- 强连通分量与缩点(Tarjan算法)(洛谷P3387)
- K近邻(KNN)算法---Python实现(一)
- 位字节
- DIY空气检测仪:攀藤G5ST分析仪
- 随着Java 一系列更新也意味着Java 9时代的结束
- Codeforces Round #438 B. Race Against Time 思路很重要
- 8、继承和限制控制