[JLOI2011]飞行路线 分层图最短路
来源:互联网 发布:软件系统设计模板 编辑:程序博客网 时间:2024/05/01 00:02
裸的分层图最短路,SPFA+SLF解决 bitset数组下标开反 RE了半天。。。。
#include <iostream>#include <cstdio>#include <algorithm>#include <deque>#include <utility>#include <bitset>#define MAXN 210000#define FR first#define SC second#define MP make_pair#define INF 100000000using namespace std;bitset<11> vis[MAXN];typedef pair<int,int > PII;deque<PII> q;int dis[MAXN][11];int n,m,s,t,lim,cnt;struct node{ int p,next,w;}edge[MAXN];int head[MAXN];void insert(int a,int b,int c){ edge[++cnt].p=b; edge[cnt].next=head[a]; edge[cnt].w=c; head[a]=cnt;}void SPFA(){ for (int i=1;i<=n;++i) for (int j=0;j<=lim;++j) dis[i][j]=INF; dis[s][0]=0; for (int i=1;i<=n;++i) vis[i].reset(); vis[s][0]=true; q.push_back(MP(s,0)); while (!q.empty()) { int u=q.front().FR,time=q.front().SC; q.pop_front(); vis[u][time]=false; for (int k=head[u];k;k=edge[k].next) { int v=edge[k].p; for (int op=0;op<=1;++op) { if (op+time>lim) break; int tmp; if (op) tmp=0; else tmp=edge[k].w; if (tmp+dis[u][time]<dis[v][time+op]) { dis[v][time+op]=tmp+dis[u][time]; if (!vis[v][time+op]) { vis[v][time+op]=true; if (q.empty()||dis[v][time+op]<dis[q.front().FR][q.front().SC]) q.push_front(MP(v,time+op)); else q.push_back(MP(v,time+op)); } } } } }}int main(){ cin>>n>>m>>lim>>s>>t; s++,t++; int x,y,z; for (int i=1;i<=m;++i) { scanf("%d%d%d",&x,&y,&z); ++x,++y; insert(x,y,z); insert(y,x,z); } SPFA(); int ans=INF; for (int i=0;i<=lim;++i) ans=min(ans,dis[t][i]); cout<<ans<<endl; return 0;}
0 0
- [JLOI2011]飞行路线 分层图最短路
- 【bzoj2763】 JLOI2011飞行路线 分层最短路
- [BZOJ2763][JLOI2011][分层图最短路]飞行路线
- bzoj2763: [JLOI2011]飞行路线 分层图最短路
- BZOJ2763 [JLOI2011]飞行路线(分层图最短路)
- 【JLOI2011】【bzoj2763】飞行路线 分层图最短路
- BZOJ 2763: [JLOI2011]飞行路线(分层图最短路)
- BZOJ_P2763 [JLOI2011]飞行路线(分层图+最短路)
- BZOJ2763[JLOI2011]飞行路线 【分层图最短路】
- poj 2763: [JLOI2011]飞行路线(spfa分层图最短路)
- bzoj 2763: [JLOI2011]飞行路线 分层图最短路
- bzoj2763[JLOI2011]飞行路线 分层图最短路
- [bzoj2763]2763: [JLOI2011]飞行路线 分层图最短路
- BZOJ 2763: [JLOI2011]飞行路线 分层图最短路
- bzoj2763 [JLOI2011]飞行路线(分层图最短路)
- [bzoj2763]飞行路线 分层图最短路
- BZOJ 2763: [JLOI2011]飞行路线 最短路
- |BZOJ 2763|最短路|[JLOI2011]飞行路线
- Not a DRM File, opening notmally
- 九度oj 题目1032:ZOJ 【ZJU2009考研机试题2】
- cocos2d-x 触摸消息详解
- 小米狼子的野心~~~不错不错!
- 【Qt体验-ConiaGUI】创建一个基础架构
- [JLOI2011]飞行路线 分层图最短路
- netbeans中路径的总结
- ckeditor编辑器Word文档粘贴自动去格式的解决方法
- vector动态数组
- 公开课可下载资源汇总
- 程序运行时,对象是怎么进行放置的
- [Vim]配置tab缩进
- 合并果子
- Delaunay三角形网格