BZOJ 2763 飞行路线(分层图最短路)题解
题意:中文题意不解释...
思路:分层图最短路,我们再开一维用来表示当前用了多少次免费次数,dis[i][j]就表示到达i点用了j次免费的最短路,有点DP的感觉。
当个模板用
参考:分层图最短路
代码:
#include<cstdio>
#include<set>
#include<cmath>
#include<queue>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iostream>
#define ll long long
using namespace std;
const int maxn = +;
const int INF = 0x3f3f3f3f;
int dis[maxn][]; //走到i已经免费j次最短路
int vis[maxn][];
int n,m,k;
struct node{
int to,val;
node(int _t = ,int _v = ):to(_t),val(_v){}
};
vector<node> G[maxn];
void spfa(int st){
memset(dis,INF,sizeof(dis));
memset(vis,,sizeof(vis));
queue<int> q;
while(!q.empty()) q.pop();
vis[st][] = ;
dis[st][] = ;
q.push(st),q.push(); //点和当前使用免费次数
while(!q.empty()){
int u = q.front();q.pop();
int j = q.front();q.pop(); //j是用了几次免费
for(int i = ;i < G[u].size();i++){
int v = G[u][i].to;
if(dis[u][j] + G[u][i].val < dis[v][j]){ //假如不免费
dis[v][j] = dis[u][j] + G[u][i].val;
if(!vis[v][j]){
vis[v][j] = ;
q.push(v),q.push(j);
}
}
if(j < k && dis[u][j] < dis[v][j + ]){ //免费
dis[v][j + ] = dis[u][j];
if(!vis[v][j + ]){
vis[v][j + ] = ;
q.push(v),q.push(j + );
}
}
}
vis[u][j] = ;
}
}
int main(){
while(scanf("%d%d%d",&n,&m,&k) != EOF){
for(int i = ;i <= n;i++) G[i].clear();
int s,t;
scanf("%d%d",&s,&t);
++s,++t;
for(int i = ;i < m;i++){
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
++u,++v;
G[u].push_back(node(v,w));
G[v].push_back(node(u,w));
}
spfa(s);
int ans = INF;
for(int i = ;i <= k;i++){
ans = min(ans,dis[t][i]);
}
printf("%d\n",ans);
}
return ;
}
BZOJ 2763 飞行路线(分层图最短路)题解的更多相关文章
- bzoj2763 [JLOI]飞行路线 分层图最短路
问题描述 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的 ...
- P4568 飞行路线 分层图最短路
P4568 飞行路线 分层图最短路 分层图最短路 问题模型 求最短路时,可有\(k\)次更改边权(减为0) 思路 在普通求\(Dijkstra\)基础上,\(dis[x][j]\)多开一维\(j\)以 ...
- [JLOI2011]飞行路线 分层图最短路
题目描述: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在nn个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一 ...
- P4568 [JLOI2011]飞行路线 分层图最短路
思路:裸的分层图最短路 提交:1次 题解: 如思路 代码: #include<cstdio> #include<iostream> #include<cstring> ...
- BZOJ2763: [JLOI2011]飞行路线(分层图 最短路)
题意 题目链接 Sol 分层图+最短路 建\(k+1\)层图,对于边\((u, v, w)\),首先在本层内连边权为\(w\)的无向边,再各向下一层对应的节点连边权为\(0\)的有向边 如果是取最大最 ...
- 【bzoj2763】[JLOI2011]飞行路线 分层图最短路
题目描述 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的 ...
- bzoj 2763: [JLOI2011]飞行路线 -- 分层图最短路
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MB Description Alice和Bob现在要乘飞机旅行,他们选择了一家相 ...
- BZOJ2763[JLOI2011]飞行路线 [分层图最短路]
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2523 Solved: 946[Submit][Statu ...
- [JLOI2011]飞行路线 (分层图,最短路)
题目链接 Solution 建立 \(k+1\) 层图跑 \(Dijkstra\) 就好了. Code #include<bits/stdc++.h> #define ll long lo ...
- [bzoj2763][JLOI2011]飞行路线——分层图最短路
水题.不多说什么. #include <bits/stdc++.h> using namespace std; const int maxn = 10010; const int maxk ...
随机推荐
- 生命游戏/Game of Life的Java实现
首先简单介绍一下<生命游戏> 生命游戏其实是一个零玩家游戏.它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死 ...
- bootstrap之按钮和图片
一.按钮 类 描述 .btn 为按钮添加基本样式 .btn-default 默认/标准按钮 .btn-primary 原始按钮样式(未被操作) .btn-success 表示成功的动作 .btn-in ...
- python epoll实现异步socket
一.同步和异步: 在程序执行中,同步运行意味着等待调用的函数.线程.子进程等的返回结果后继续处理:异步指不等待当下的返回结果,直接运行主进程下面的程序,等到有返回结果时,通知主进程处理.有点高效. 二 ...
- 【转】DevOps的前世今生
转自:http://www.infoq.com/cn/news/2016/09/learn-devops-from-reports 目前在国外,互联网巨头如Google.Facebook.Amazon ...
- JavaScript—文字自动变化为自定义颜色
效果: JS代码: var ColorTimer; var Colorforn = 0; //颜色代码 var ColorArray = new Array("#00CCCC", ...
- 【node】------node连接mongodb操作数据库------【巷子】
1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...
- C#读取xml文件指定节点下的值
#region 读取xml文件指定节点下的值 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(result); XmlNode root ...
- FNV hash算法
原文:https://blog.csdn.net/u013137970/article/details/79020095 FNV算法简介FNV算法属于非密码学哈希函数,它最初由Glenn Fowler ...
- sql 中如何将返回的记录某一条置顶
将table1中id 为2的记录置顶select * from table1order by case when id='2' then 0 else 1 end 例子:将已发布的置顶,status ...
- SDL结合QWidget的简单使用说明(2)
上篇主要讲了针对yv12流数据的渲染,但有时候我们显示视频还要求加一些信息,比如头像,昵称等等.一般的想法是在渲染窗口之上做一个小控件来负责: 但是很遗憾,你会发现你的控件被SDL的渲染完全遮住了,渲 ...