普及组集训--图论最短路径设分层图

P4568 [JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态

可以设置分层图:(伪代码)

cpp 复制代码
E(u,v)=w;无向图 
add(u,v,w),add(v,u,w);
for(j=1~k){
	add(u+jn,v+jn,w);
	add(v+jn,u+jn,w);
	add(u+jn-j,v+jn-j,0);
	add(v+jn-j,u+jn-j,0);
}

add(u+jn-j,v+jn-j,0); add(v+jn-j,u+jn-j,0); 是从上面的节点到下面相对应的节点为0;因为有k此转程,且不能够重复经过某一结点。建图用链式前向星,最短路径不要用spfa,要用dijkstra,而且要堆优化。

真建图方式:

cpp 复制代码
for(int i=0;i<m;i++){
       u=Read(),v=Read(),c=Read();
       add(u,v,c);
       add(v,u,c);
       for(int j=1;j<=k;j++){
           add(u+(j-1)*n,v+j*n,0);
           add(v+(j-1)*n,u+j*n,0);
           add(u+j*n,v+j*n,w);
           add(v+j*n,u+j*n,w);
       }
}
相关推荐
爱学大树锯16 小时前
【(格式化字符串)】
算法
wearegogog12316 小时前
压缩感知和稀疏表示恢复算法中的L1同伦算法
人工智能·算法
core51216 小时前
决策树 (Decision Tree):像“猜猜看”游戏一样的AI算法
人工智能·算法·决策树
夏乌_Wx16 小时前
练题100天——DAY34:错误的集合+图片平滑器+最长连续递增序列
数据结构
xa1385086916 小时前
ARCGIS PRO SDK 多边形四至点计算
算法·arcgis
AuroraWanderll17 小时前
类和对象(四):默认成员函数详解与运算符重载(下)
c语言·数据结构·c++·算法·stl
2401_8414956417 小时前
【LeetCode刷题】杨辉三角
数据结构·python·算法·leetcode·杨辉三角·时间复杂度·空间复杂度
Tim_1017 小时前
【算法专题训练】35、前缀树查找
算法
Cinema KI17 小时前
二叉搜索树的那些事儿
数据结构·c++
LYFlied17 小时前
【每日算法】LeetCode 62. 不同路径(多维动态规划)
前端·数据结构·算法·leetcode·动态规划