BZOJ 2763: [JLOI2011]飞行路线 最短路
来源:互联网 发布:linux黑屏 编辑:程序博客网 时间:2024/05/22 01:43
题目链接:
http://www.lydsy.com/JudgeOnline/problem.php?id=2763
题意:
题解:
最短路,在转移dis的时候多开一维k就好了
dis[i][j]->dis[t][j]+e[i][t]
dis[i][j]->dis[t][j+1] if j
代码:
#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))#define MP make_pair#define PB push_backconst int INF = 0x3f3f3f3f;const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;inline ll read(){ ll 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*10+ch-'0';ch=getchar();} return x*f;}//////////////////////////////////////////////////////////////////////////const int maxn = 1e5+10;struct node{ int x,y;};vector<node> E[maxn];ll dis[maxn][15];int inq[maxn][15];int main(){ int n,m,k,s,t; scanf("%d%d%d%d%d",&n,&m,&k,&s,&t); for(int i=0; i<m; i++){ int u,v,w; scanf("%d%d%d",&u,&v,&w); E[u].push_back(node{v,w}); E[v].push_back(node{u,w}); } for(int i=0; i<=n; i++) for(int j=0; j<=k; j++) dis[i][j] = INF; memset(inq,0,sizeof(inq)); queue<node> q; q.push((node){s,0}); inq[s][0] = 1, dis[s][0] = 0; while(!q.empty()){ node now = q.front(); q.pop(); inq[now.x][now.y] = 0; for(int i=0; i<(int)E[now.x].size(); i++){ int v = E[now.x][i].x, w = E[now.x][i].y; if(dis[v][now.y] > dis[now.x][now.y]+w){ // 不用票 dis[v][now.y] = dis[now.x][now.y]+w; if(!inq[v][now.y]){ inq[v][now.y] = 1; q.push((node){v,now.y}); } } if(dis[v][now.y+1]>dis[now.x][now.y] && now.y<k){ // 用票 dis[v][now.y+1] = dis[now.x][now.y]; if(!inq[v][now.y+1]){ inq[v][now.y+1] = 1; q.push((node){v,now.y+1}); } } } } ll ans = INF; for(int i=0; i<=k; i++) if(dis[t][i] < ans) ans = dis[t][i]; cout << ans << endl; return 0;}
0 0
- BZOJ 2763: [JLOI2011]飞行路线 最短路
- |BZOJ 2763|最短路|[JLOI2011]飞行路线
- BZOJ 2763: [JLOI2011]飞行路线(分层图最短路)
- bzoj 2763: [JLOI2011]飞行路线 分层图最短路
- BZOJ 2763: [JLOI2011]飞行路线 分层图最短路
- BZOJ 2763: [JLOI2011]飞行路线
- bzoj 2763 [JLOI2011]飞行路线
- BZOJ 2763 [JLOI2011]飞行路线
- BZOJ 2763 [JLOI2011]飞行路线
- bzoj 2763: [JLOI2011]飞行路线
- bzoj 2763: [JLOI2011]飞行路线
- BZOJ 2763 [JLOI2011]飞行路线
- poj 2763: [JLOI2011]飞行路线(spfa分层图最短路)
- [bzoj2763]2763: [JLOI2011]飞行路线 分层图最短路
- [JLOI2011]飞行路线 分层图最短路
- 【bzoj2763】 JLOI2011飞行路线 分层最短路
- bzoj[JLOI2011]飞行路线
- 【BZOJ】【JLOI2011】飞行路线
- 理解java的三大特性之封装
- 从0移植uboot(三) _编译最小可用uboo
- 设计模式——单例模式
- 一种比较实用的iOS SDK项目架构
- Spring Data JPA实战(二)-扩展开发
- BZOJ 2763: [JLOI2011]飞行路线 最短路
- AFNetworking访问https出现"NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806"
- c++异常处理--创建自己的异常处理类
- 一道面试题(题目转载已在内容中注明)
- HRBUST1310-火影忍者之~鸣人
- 负载均衡服务的相关命令操作失败------又是磁盘满了惹的祸!
- PAT--1125. Chain the Ropes
- 详解并行逻辑回归
- Android中通过Gson进行json解析