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

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

思路:裸的分层图最短路

提交:1次

题解:

如思路

代码:

#include
#include
#include
#include
#define R register intusing namespace std;#define ull unsigned long long#define ll long long#define pause (for(R i=1;i<=10000000000;++i))#define IN freopen("NOIPAK++.in","r",stdin)#define OUT freopen("out.out","w",stdout)namespace Fread { static char B[1<<15],*S=B,*D=B;#ifndef JACK #define getchar() (S==D&&(D=(S=B)+fread(B,1,1<<15,stdin),S==D)?EOF:*S++)#endif inline int g() { R ret=0,fix=1; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-1:fix; if(ch==EOF) return EOF; do ret=ret*10+(ch^48); while(isdigit(ch=getchar())); return ret*fix; } inline bool isempty(const char& ch) {return ch!=EOF&&(ch<=36||ch>=127);} inline void gs(char* s) { register char ch; while(isempty(ch=getchar())); if(ch==EOF) return ; do *s++=ch; while(!isempty(ch=getchar())); }}using Fread::g; using Fread::gs;const int N=10010,M=50010;#define fr first#define sc second#define mp make_pair#define pii pair
int n,m,k,s,t,cnt,ans=0x3f3f3f3f;int vr[M<<1],nxt[M<<1],fir[N],w[M<<1],d[N][15]; bool vis[N][15];inline void add(int u,int v,int ww) {vr[++cnt]=v,nxt[cnt]=fir[u],w[cnt]=ww,fir[u]=cnt; }inline void dijk() { priority_queue
> q; memset(d,0x3f,sizeof(d)); d[s][0]=0; q.push(mp(0,mp(s,0))); while(q.size()) { register pii tmp=q.top().sc; q.pop(); R u=tmp.fr,t=tmp.sc; if(vis[u][t]) continue; for(R i=fir[u];i;i=nxt[i]) { R v=vr[i]; if(d[v][t]>d[u][t]+w[i]) d[v][t]=d[u][t]+w[i],q.push(mp(-d[v][t],mp(v,t))); if(t
d[u][t]) d[v][t+1]=d[u][t],q.push(mp(-d[v][t+1],mp(v,t+1))); } }}signed main() {#ifdef JACK#endif n=g(),m=g(),k=g(),s=g(),t=g(); for(R i=1,u,v,w;i<=m;++i) u=g(),v=g(),w=g(),add(u,v,w),add(v,u,w); dijk(); for(R i=0;i<=k;++i) ans=min(ans,d[t][i]); printf("%d\n",ans);}

2019.07.22

转载于:https://www.cnblogs.com/Jackpei/p/11226257.html

你可能感兴趣的文章
26. Remove Duplicates from Sorted Array
查看>>
使用weak property声明Outlet
查看>>
RN开发-Navigator
查看>>
innodb二进制文件相关的参数
查看>>
前谷歌高管给初入职场新人的14条忠告
查看>>
01-html介绍和head标签
查看>>
Python之Linux下的 virtualenv
查看>>
ASP.NET Web开发框架之三 报表开发
查看>>
大家好
查看>>
PHP文件上传类
查看>>
Python基础 --- 使用 dict 和 set
查看>>
仿迅雷播放器教程 -- 基于VLC的MFC播放器 (6)
查看>>
Python之数据结构基础
查看>>
WPF:如何高速更新Model中的属性
查看>>
hdu 1010(DFS) 骨头的诱惑
查看>>
(转)Android SDK Manager国内无法更新的解决方案
查看>>
SQL语句修改表
查看>>
ubutnu 挂载磁盘
查看>>
continue 和 break的实例
查看>>
Java学习笔记()ArrayList
查看>>