博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
luogu P4568 [JLOI2011]飞行路线
阅读量:5322 次
发布时间:2019-06-14

本文共 1374 字,大约阅读时间需要 4 分钟。

看看代码就懂分层最短路什么意思了

qq姐给我讲的w

不记得是gg多久前布置的题了

反正

很久不打代码

手指似乎都不会用了

好僵硬啊。。。

#include
#include
#define sev enusing namespace std;#define INF 2147483647#define N 10000010priority_queue
,vector
>,greater
> >q;struct EDGE{ int nxt,to,w;}e[N];int head[N],vis[N],dis[N],cnt;void add(int x,int y,int z) { e[++cnt].to = y; e[cnt].w = z; e[cnt].nxt = head[x]; head[x] = cnt;}int main() { int n,m,k; scanf("%d%d%d",&n,&m,&k); int s,t; scanf("%d%d",&s,&t); for(int i = 1; i <= m; i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); add(a,b,c); add(b,a,c); for(int j = 1; j <= k; j++) { add(a + j * n,b + j * n,c); add(b + j * n,a + j * n,c); add(a + (j - 1) * n,b + j * n,0); add(b + (j - 1) * n,a + j * n,0); } } for(int i = 0; i <= n; i++) for(int j = 0; j <= k; j++) dis[i + j * n] = INF; dis[s] = 0; q.push(make_pair(0,s)); while(!q.empty()) { int u = q.top().second; q.pop(); if(vis[u]) continue; vis[u] = 1; for(int i = head[u]; i; i = e[i].nxt) { int v = e[i].to; if(dis[v] > dis[u] + e[i].w) { dis[v] = dis[u] + e[i].w; q.push(make_pair(dis[v],v)); } } } int ans = INF; for(int i = 0; i <= k; i++) ans = min(ans,dis[t + i * n]); printf("%d",ans); return 0;}
多倍经验提示

不知道该感慨些什么

总是听歌听得很丧

总是对自己很失望

总是觉得无可爱

为什么总有告诉他我喜欢他的冲动呢

转载于:https://www.cnblogs.com/sevenyuanluo/p/10926589.html

你可能感兴趣的文章
POJ 1128 食物链 - 并查集
查看>>
python 安装
查看>>
获取应用程序完整名称和分解目录
查看>>
STRUTS2 标签 循环次数
查看>>
git初步是使用并成功提交
查看>>
三星大牛Galaxy Note 扫盲贴
查看>>
oracle的nvl函数的用法
查看>>
python loggin日志模块
查看>>
【算法】CRF
查看>>
jQuery介绍
查看>>
阶段1 语言基础+高级_1-2 -面向对象和封装_17构造方法
查看>>
Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
查看>>
Docker(8)-Docker Compose
查看>>
LeetCode OJ 143. Reorder List(两种方法,快慢指针,堆栈)
查看>>
关于内容管理系统IWMS的几个问题
查看>>
在线编辑地址
查看>>
Delphi 2010 Can't load package C:\Programme\Afalinasoft\Add-in Express 2\d5units\adxwizardd5.bpl.
查看>>
Django from表单及ajax提交文件
查看>>
(转)python set 用法
查看>>
谁是中国IT版林书豪?
查看>>