
单源最短路径
^Rely!-
来自仙都的骚年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单源最短路径:dijkstra算法
背景 作为一个只会spfa求最短路的蒟蒻,我挂在了[NOI2018]归程这道题上. 是我了。。。 所以,我决定学习dijkstra算法. dijkstra算法详解 实际上也蛮简单的嘛。。。 程序实现 #include<bits/stdc++.h> #define inf 0x3f3f3f3f #define maxn 200010 using namespace std; stru...原创 2019-08-26 21:20:11 · 221 阅读 · 0 评论 -
P4768 [NOI2018]归程(Kruskal重构树,倍增,单源最短路径)
发现Kruskal重构树和倍增通常一起使用呢! P4768 [NOI2018]归程 题目描述 自己看题面吧,不可描述. 题目分析 从大体思路入手, 我们可以把从v到1的路径分成两部分, 一半全开车,一半全走路. 也就是说要枚举n个节点作为断点(假设当前断点为u), 这个断点是可行解与最优解当且仅当 存在一条从v到u的路径可以全部开车 且从u到1全部走路的最短路是满足上一条件中最短的 那么要怎么...原创 2019-08-27 16:34:04 · 226 阅读 · 0 评论 -
P1606 [USACO07FEB]白银莲花池 &&P1979 华容道(bfs预处理+状态连边建图+最短路算法求解,最短路计数)
这几天写题是真的自闭,连图都不会建了 P1606 [USACO07FEB]白银莲花池 P1979 华容道 题目大意 不可描述,自己看去. 解题思路 bfsbfsbfs预处理+状态连边建图+最短路算法求解 这是这类题一个非常重要的思想. 通过bfsbfsbfs建图将各个状态连接,然后用最短路算法求出最优的状态. bfsbfsbfs预处理+状态连边建图部分:P1606 [USACO07FEB]白银莲花...原创 2019-09-03 11:25:29 · 356 阅读 · 0 评论 -
lightOJ 1002 country roads (最短路算法的拓展变式)
lightOJ 1002 Country Roads 单源最长路径怎么求 ?当然就是把单源最短路径改过来就行了. 那么,其他涉及边的状态转移的问题呢?是否也能用最短路算法魔改而成?答案是肯定的. 题目大意 给定一张无向图和一个终点,定义一个点到终点的权为这个点到终点的所有路径中长度最大的边的最小值. 如图,点0到4的路径有三条,它们的路径上的边权最大值分别是8,9,7,取最小,输出7 题目分析...原创 2019-09-03 21:40:13 · 247 阅读 · 0 评论 -
UVA721 Invitation Cards(SPFA,反向建图技巧)
UVA721 Invitation Cards 反向建图是一种非常重要的解题思想,务必掌握. 题目描述 给定一张图,求从源点1到每个点的最短路之和和每个点到源点1的最短路之和的和. 保证整张图强连通,答案在intintint范围内. 题目分析 求源点1到每个点的最短路之和的做法是显然的. 而求每个点到源点的最短路,最直观的思路是直接每个点进行一次求最短路,但是观察数据范围,发现数据是百万级的,明显...原创 2019-09-04 11:30:15 · 335 阅读 · 0 评论 -
P1608 路径统计(带权图的最短路数统计,dijkstra算法)
我可以这么说:spfa不仅仅是bellman_ford的队列优化版本,而且是魔改! P1608 路径统计 题目描述 给定一张有向有权图,求出点1到点n的最短路长度和最短路的数量. 可能无解,但是不会出现负权边和自环,若有重边请忽略影响,只算一条. 题目分析 之前我们有做过无权图的最短路算法,那时候我们直接对spfaspfaspfa进行操作就好了. 然鹅这道题,spfaspfaspfa就不能直接...原创 2019-09-04 21:49:52 · 425 阅读 · 0 评论 -
P3385 负环(spfa求负环)
P3385 负环 有负权的图sssp问题不一定无解,但是有负环的图sssp问题一定无解. 题目描述 给定一张带负权边的图,求从1开始到每个点的最短路路径上是否有负环. 可能有重边或者自环. 题目分析 带负权的图做最短路,显然只能用spfaspfaspfa. spfa这种最短路算法.如果一个环上的边权有负的,我们可以重复走这条路来获得更小的边权,所以这可以作为我们使用spfa判断负环的根据. 根...原创 2019-09-05 11:01:06 · 219 阅读 · 1 评论 -
P3953 逛公园(最短路计数,spfa判环,分层图,拓扑序dp)
P3953 逛公园 题目描述 给定一张有向图,求从点1到点nnn长度不大于disn+kdis_n+kdisn+k的路径总数. 规定只要路径中经过的点不同或者经过点的顺序不同,就另算一条新的路径. 注意可能有0边,若这样的路径有无数条,则输出−1-1−1. 题目分析 最短路计数 首先观察30pts30pts30pts部分分,可以发现,这就是一个裸的最短路计数问题. 因为是带权图,所以我们采用d...原创 2019-09-10 15:32:36 · 230 阅读 · 0 评论