bzoj 2763: [JLOI2011]飞行路线 分层图
题目链接
n个点m条路, 每条路有权值, 给出起点和终点, 求一条路使得权值最小。可以使路过的路中, k条路的权值忽略。
其实就是多一维, 具体看代码
#include<bits/stdc++.h> using namespace std; #define pb(x) push_back(x) #define ll long long #define mk(x, y) make_pair(x, y) #define lson l, m, rt<<1 #define mem(a) memset(a, 0, sizeof(a)) #define rson m+1, r, rt<<1|1 #define mem1(a) memset(a, -1, sizeof(a)) #define mem2(a) memset(a, 0x3f, sizeof(a)) #define rep(i, a, n) for(int i = a; i<n; i++) #define ull unsigned long long typedef pair<int, int> pll; const double PI = acos(-1.0); const double eps = 1e-8; const int mod = 1e9+7; const int inf = 1061109567; const int dir[][2] = { {-1, 0}, {1, 0}, {0, -1}, {0, 1} }; const int maxn = 5e4+5; int dis[12][60005], in[12][60005], num, head[maxn*2]; int n, m, k, s, t; struct edge {int to, nextt, w; }e[maxn*2]; struct node {int u, x;node(){}node(int u, int x):u(u),x(x){} }; void init() {mem1(head);num = 0; } void add(int u, int v, int w) {e[num].to = v;e[num].nextt = head[u];e[num].w = w;head[u] = num++; } queue <node> q; int dij() {mem2(dis);q.push(node(s, 0));dis[0][s] = 0;in[0][s] = 1;while(!q.empty()) {node tmp = q.front(); q.pop();int u = tmp.u, x = tmp.x;in[x][u] = 0;for(int i = head[u]; ~i; i = e[i].nextt) {int v = e[i].to;if(dis[x][v]>dis[x][u]+e[i].w) {dis[x][v] = dis[x][u]+e[i].w;if(!in[x][v]) {in[x][v] = 1;q.push(node(v, x));}}}if(x<k) {x++;for(int i = head[u]; ~i; i = e[i].nextt) {int v = e[i].to;if(dis[x][v]>dis[x-1][u]) {dis[x][v] = dis[x-1][u];if(!in[x][v]) {in[x][v] = 1;q.push(node(v, x));}}}}}int ans = inf;for(int i = 0; i<=k; i++)ans = min(ans, dis[i][t]);return ans; } int main() {int x, y, z;cin>>n>>m>>k>>s>>t;init();while(m--) {scanf("%d%d%d", &x, &y, &z);add(x, y, z);add(y, x, z);}int ans = dij();cout<<ans<<endl;return 0; }
转载于:https://www.cnblogs.com/yohaha/p/5068070.html
bzoj 2763: [JLOI2011]飞行路线 分层图相关推荐
- bzoj 2763 [JLOI2011]飞行路线——分层图
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2763 分层图两种方法的练习. 1.把图分成k+1层,本层去上面一层的边免费.但空间时间都不算 ...
- 洛谷 - P4568 [JLOI2011]飞行路线(分层图最短路)
题目链接:点击查看 题目大意:给出一张图,每条边都有权值,现在要求从点st到达点ed,沿途中可以让k条边的边权免费,现在求最短路 题目分析:分层图经典模板问题,直接套板子就行了,最后记得对于数组d的每 ...
- BZOJ 2763: [JLOI2011]飞行路线 spfa dp
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=2763 题解: d[x][kk]表示从s到x用了kk次免费机会的最少花费. 代码: #in ...
- BZOJ 2763: [JLOI2011]飞行路线 【SPFA】
Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格.Al ...
- BZOJ 2763[JLOI2011]飞行路线 - 最短路
描述 给出一个无向图, 出发地$s$和目的地$t$, 让你求出不计算 任意$K$条边权值 的最短路 题解 刚开始我是用记忆化搜索记录状态$F_{i, k}$, 表示从出发地出发 到第$i$个城市, 还 ...
- 【Dijsktra priority!】分层图
这里先直接上一个题解,下午应该会有自己的打法! /* 首先看一个问题: 在你的强力援助下,PCY 成功完成了之前的所有任务,他觉得,现在正是出去浪的大好时光.于是,他来到高速公路上,找到一辆摩的前往几 ...
- bzoj2763 [JLOI2011]飞行路线
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 3216 Solved: 1230 [Submit][St ...
- 洛谷 P4568 [JLOI2011] 飞行路线(分层图最短路)
[JLOI2011] 飞行路线 题目描述 Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在 n n n 个城市设有业务,设这些城市分别标记为 0 0 0 到 ...
- 【HYSBZ - 2763 】飞行路线 (分层图最短路,最短路dp)
题干: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价 ...
- Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路
2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 647 Solved: 348 [Submit][S ...
最新文章
- 找不到或无法加载主类 org.jivesoftware.openfire.starter.ServerStarter
- 一秒回到P图前:Adobe发布“反向PS”利器,知道你修过哪里,还帮你修回去
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- servlet-新建maven报错:web.xml is missing and <failOnMissingWebXml> is set to true
- 设计模式(1)--简单工厂模式、策略模式
- python初学者_面向初学者的20种重要的Python技巧
- java的Scanner类
- 【恋上数据结构】希尔排序
- 东大14春学期《计算机应用基础》在线作业1,东大18春学期《计算机应用基础》在线作业...
- 关于linux下的iptables 的浅析命令和了解
- Linux--进程组 作业 会话 守护(精灵)进程
- atca背板_Xilinx公司展示ATCA背板10 Gbps串行信号传输
- Java随笔记 - BIO Socket 编程实例
- grub4dos引导Linux失败,Grub4dos引导Ubuntu
- 语音交互的基本概念和设计实践
- CSS Reset(样式重置)
- SiT5721:±5~±8ppb超高精度Stratum 3E恒温数控振荡器DCOCXO,1-60MHz
- 对逻辑斯蒂回归的一些细节剖析
- 新中新身份证读卡器开发问题
- java date 日期格式_如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?...
热门文章
- 中计算正方形面积的方法_风管及管道部件设计过程中常用的计算方法
- ValueError: This sheet is too large! Your sheet size
- python中tolist()功能
- R-CNN学习笔记4:Fast R-CNN
- 书接上文——python实现感知分类器模型分类过程动态可视化
- python实现判断给定列表是否存在重复元素,且索引差小于k
- PRD之道:4个撰写PRD的关键思路
- 2021-08-08 mysql索引
- python中showinfo什么意思_在Python中Windows – 在startupinfo中使用wShowWindow的Popen不会影响显示...
- kubernetes视频教程笔记 (12)-容器探针