bzoj2763 飞行路线
Description
Input
Output
求最短路,记录每个节点i在使用j次免费路线后当前到起点已知最近距离。
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
const int inf=0x3fffffff;
int n,m,k;
int s,t;
int a,b,c;
struct edge{
int to,v;
edge(int _,int __):to(_),v(__){}
};
struct node{
int w,s;
node(int _,int __):w(_),s(__){}
};
vector<edge> es[];
int d[][];
bool in[][];
queue<node>q;
int main(){
scanf("%d%d%d",&n,&m,&k);
scanf("%d%d",&s,&t);
for(int i=;i<=m;i++){
scanf("%d%d%d",&a,&b,&c);
es[b].push_back(edge(a,c));
es[a].push_back(edge(b,c));
}
for(int i=;i<n;i++){
for(int j=;j<=k;j++)d[i][j]=inf;
}
d[s][]=;
q.push(node(s,));
while(!q.empty()){
node w=q.front();
q.pop();
in[w.w][w.s]=;
for(int i=es[w.w].size()-;i>=;i--){
int to=es[w.w][i].to;
int v=es[w.w][i].v;
if(d[w.w][w.s]+v<d[to][w.s]){
d[to][w.s]=d[w.w][w.s]+v;
if(!in[to][w.s])q.push(node(to,w.s)),in[to][w.s]=;
}
if(w.s<k&&d[w.w][w.s]<d[to][w.s+]){
d[to][w.s+]=d[w.w][w.s];
if(!in[to][w.s+])q.push(node(to,w.s+)),in[to][w.s+]=;
}
}
}
int minv=inf;
for(int i=;i<=k;i++)if(minv>d[t][i])minv=d[t][i];
printf("%d",minv);
return ;
}
bzoj2763 飞行路线的更多相关文章
- BZOJ2763[JLOI2011]飞行路线 [分层图最短路]
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2523 Solved: 946[Submit][Statu ...
- 【BZOJ2763】飞行路线(最短路)
[BZOJ2763]飞行路线(最短路) 题面 BZOJ Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标 ...
- BZOJ2763 JLOI2011 飞行路线 【最短路+DP】
BZOJ2763 JLOI2011 飞行路线 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n ...
- 【bzoj2763】[JLOI2011]飞行路线 (分层图最短路)(优先队列dij)
[bzoj2763][JLOI2011]飞行路线 2014年3月25日1,7260 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城 ...
- 分层图最短路【bzoj2763】: [JLOI2011]飞行路线
bzoj2763: [JLOI2011]飞行路线 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0 ...
- bzoj千题计划226:bzoj2763: [JLOI2011]飞行路线
http://www.lydsy.com/JudgeOnline/problem.php?id=2763 这也算分层图最短路? dp[i][j]到城市i,还剩k次免费次数的最短路 #include&l ...
- 【BZOJ2763/洛谷p4563】【分层图最短路】飞行路线
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 4630 Solved: 1797[Submit][Stat ...
- bzoj2763: [JLOI2011]飞行路线(分层图spfa)
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3234 Solved: 1235[Submit][Stat ...
- bzoj2763 [JLOI]飞行路线 分层图最短路
问题描述 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的 ...
随机推荐
- C#阿里云 移动推送 接入
接入阿里云的 移动推送 SDK,实现在后台直接 发送消息给APP的功能. ----------------OpenAPI进行推送 2.0高级接口 阿里云配置准备:1.移动app配置:打开 ...
- Nutch相关视频教程3
参考: http://www.cnblogs.com/huligong1234/p/3515214.html
- 对于for循环和while循环,两种形式的优缺点
1.for循环 一般用于知道循环次数,并且for循环可以节省内存以及代码简洁,在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了. ;val<=;val++) { sum+=val; ...
- 怎么从sqlserver的存储过程获得返回的数据
1.返回一个数值 declare @count int exec @count = testReturn \'111\',\'222\' select @count @count就是返回的数值是int ...
- 【数据库】MFC ODBC(二)
三.CRecordset类 1.IsBOF与IsEOF (1)IsBOF 如果记录集没有记录,或已经向前游动到第一个记录之前,则返回非零:否则返回0.详细说明如下: 1)访问Open函数之后,如果记录 ...
- CentOS安装setup
如果在命令行运行 setup 提示乜有安装该命令,那么就需要先安装一下setup命令 执行:yum install setuptool #可以发现执行setup后不全,再安装一个用于系统服务管理yum ...
- 成为java高级程序员需要掌握哪些
section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如 ...
- 如何在win10(64位系统)上安装apache服务器
今天装了Apache服务器,下面是我总结的方法: 一,准备软件 1.64位的apache版本 传送门:http://www.apachelounge.com/download/ 2.VC11运行库 下 ...
- matlab一些函数
1 addpath 路径(相对应地,rmpath移除路径) addpath ../commonaddpath ../common/minFunc_2012/minFuncaddpath ../comm ...
- Appium笔记(一) 丶Appium的自我介绍
一.我是谁,我的特点是什么 Appium是一款开源测试自动化框架,可用于原生.混合和移动Web应用程序.它使用WebDriver协议驱动iOS,Android和Windows应用程序.重要的是,App ...