链接

传送门

code

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <queue>using namespace std;
using P = pair<int, int>;
inline int read(){int x = 0; char ch = getchar();while (!isdigit(ch)){ch = getchar();}while (isdigit(ch)){x = (x << 1) + (x << 3) + (ch ^ 48);ch = getchar();}return x;
}const int N = 1e6 + 10;
const int M = 3e6 + 10;
int n, m, k, tot, s, t;
int head[N], dis[N], vis[N];
struct edge{int to, nxt, w;
}e[M];inline void add(int u, int v, int w){e[tot] = {v, head[u], w};head[u] = tot++;
}void dij(int start){memset(dis, 0x3f, sizeof dis);priority_queue<P, vector<P>, greater<P> > que;dis[start] = 0;que.push(make_pair(0, start));while (!que.empty()){int u = que.top().second;que.pop();if (vis[u]) continue;vis[u] = 1;for (int i = head[u]; ~i; i = e[i].nxt) {int v = e[i].to, w  = e[i].w;if (dis[v] > dis[u] + w){dis[v] = dis[u] + w;que.push(make_pair(dis[v], v));}}}
}int main(){memset(head, -1, sizeof head);n = read(), m = read(), k = read();s = read(), t = read();for (int i = 0, u, v, val; i < m; ++i) {u = read(), v = read(), val = read();add(u, v, val), add(v, u, val);for (int j = 1; j <= k; ++j) {add(u + n*(j - 1), v + n*j, 0);add(v + n*(j - 1), u + n*j, 0);add(u + n*j, v + n*j, val);add(v +n*j, u + n*j, val);}}for (int i = 1; i <= k; ++i) {add(t + (i - 1)*n, t + i*n, 0);}dij(s);printf("%d\n", dis[n*k + t]);return 0;
}

LuoguP4568 分层图相关推荐

  1. 图论 ---- E. Minimum Path(分层图最短路 用分层图对边权操作进行选择)

    题目链接 题目大意: 两点间最短路的定义变成:所有的边之和−max+min所有的边之和-max+min所有的边之和−max+min 解题思路: 这里很明显就是变成了最短路的时时候就是把路径上边权最小值 ...

  2. CF990G GCD Counting(树上莫比乌斯反演,分层图,并查集)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给定一棵点带权无根树,对于每个 k∈[1,2×105]k\in[1,2\times10 ...

  3. [NOIP2009] 最优贸易 (最短路,分层图)

    题目链接 Solution 分层图+\(SPFA\). 建立3层图,其中每一层之中的边权赋为0. 对于任意一条边 \(t\) ,其起点 \(x\) 和终点 \(y\). 我们将 \(x\) 在第一层的 ...

  4. BZOJ2662[BeiJing wc2012]冻结——分层图最短路

    题目描述 "我要成为魔法少女!"      "那么,以灵魂为代价,你希望得到什么?"  "我要将有关魔法和奇迹的一切,封印于卡片之中„„"  ...

  5. 【线性规划与网络流24题】孤岛营救问题 分层图

    孤岛营救问题 Time Limit: 1 Sec  Memory Limit: 128 MB Description 1944年,特种兵麦克接到国防部的命令.要求马上赶赴太平洋上的一个孤岛,营救被敌军 ...

  6. 2018南京网络赛L题 Magical Girl Haze(分层图+优先队列优化的dijkstra)

    使用优先队列优化过的dijkstra时间复杂度可以达到O(v*logn),还是很快的. #include <iostream>                //最好是用long long ...

  7. CodeForces - 1486E Paired Payment(分层图最短路)

    题目链接:点击查看 题目大意:给出一个 nnn 个点 mmm 条边组成的带权无向图,规定每次只能走两条边,假设走的两条边为 a−>b−>ca->b->ca−>b−> ...

  8. 洛谷 - P4009 汽车加油行驶问题(分层图最短路/最小费用最大流)

    题目链接:点击查看 题目大意:给出一个n*n的矩阵表示道路,途中有一些加油站,现在要从点(1,1)到达点(n,n),问最小花费,其中的一些规则如下: 汽车只能沿着网格边行驶,装满油后可以行驶K条边,出 ...

  9. 洛谷 - P4568 [JLOI2011]飞行路线(分层图最短路)

    题目链接:点击查看 题目大意:给出一张图,每条边都有权值,现在要求从点st到达点ed,沿途中可以让k条边的边权免费,现在求最短路 题目分析:分层图经典模板问题,直接套板子就行了,最后记得对于数组d的每 ...

  10. POJ - 3662 Telephone Lines(分层图最短路)

    题目链接:点击查看 题目大意:在郊区有N座通信基站,P条双向电缆,第i条电缆连接基站Ai和Bi.特别的,1号基站是通信公司的总站,N号基站位于一座农场中.现在,农场主希望对通信线路进行升级,其中升级第 ...

最新文章

  1. python连接mysql代码_python连接mysql
  2. ios开发瀑布流框架的封装
  3. 腾飞答不忘初心的三个问题
  4. c# winform如何异步不卡界面
  5. java新手笔记16 面积
  6. 如何枚举JavaScript对象的属性? [重复]
  7. 宝宝胆小怎么办,家长怎么做?
  8. HDU--2502 月之数
  9. wifinative.java_AndroidQ Wifi打开流程(二)
  10. idea重写接口没有@override_1.重载和重写的区别
  11. 《畅玩NAS》第3章 ESXI安装OpenMediaVault
  12. h5破解网站图片防盗链
  13. 大学英语计算机四级考试内容,大学英语四级考试大纲
  14. html页脚版权声明,版权声明与免责声明的区别
  15. 【无标题】timescale为传输预设时间,使用geo和meo,为什么程序最后的预设时间加3呢?
  16. 基于Linux下的即时通讯聊天室项目(全代码 有注释 可直接运行)
  17. Date入参和出参格式_@DateTimeFormat 和 @JsonFormat 注解
  18. java安装的时候无效参数,java.sql.SQLException: 调用中无效的参数
  19. SAP S4 HANA 1909 安装说明
  20. 复杂指令集(CISC)和精简指令集(RISC)

热门文章

  1. ruoyi 若依 VUE 宝塔 Nignx部署 伪静态配置
  2. 转并学习: 将rar文件转换为zip格式
  3. SPSS单因素方差分析流程 分析某因素对试验结果是否有显著影响
  4. 2006公务员考试-杂七杂八常识(1)
  5. python给ppt表格加边框_向ppt里插入图片和表格
  6. python爬虫爬取qq音乐巅峰榜热歌歌词,jieba中文分词,词云展示
  7. 人工客服——图灵机器人教程
  8. Google Earth Engine谷歌地球引擎GEE栅格数据图层可视化设置代码嵌入
  9. windows7时钟屏保怎么设置_w7时钟屏保怎么设置
  10. 【知识图谱】OpenKG开源系列 | 海洋鱼类百科知识图谱(浙江大学)