最短路
_Mocha_
私はこの世界を深く愛している
展开
-
[BZOJ2200][Usaco2011 Jan]道路和航线(拓扑排序+Dijkstra)
传送门 看上去就是要到最短路,但是这题数据经过构造会卡SPFA(大家都嫌弃他嘤嘤,but可以用SLF优化水过),且因为有负权会卡Dijkstra。 那么我们观察题意,发现只有单向边是有负权的,双向边没有负权,且单向边不会构成环!那么我们就可以把原图看作许多个由双向边组成的连通块,连通块由单向边互相连在一起形成一个DAG图,对于DAG图 我们就可以用拓扑序在线性时间内遍历求出答案,对于连通块内的最...原创 2018-10-18 16:40:39 · 515 阅读 · 0 评论 -
Floyd的三种有趣的玩法
众所周知,Floyd是一个思路和实现都很简单的多源最短路径算法,原理是一种动态规划的思想,这里就不赘述太多,在做《算法竞赛进阶指南》中关于Floyd的题目中遇到的三种Floyd可以解决的问题,建议大家在阅读本文之前先熟悉Floyd算法。 1、传递闭包 什么是传递闭包? 给定一些元素和一些二元关系,且他们具有传递性(也就是假设关系有二元关系⨁\bigoplus⨁,对于元素a,b,ca,...原创 2018-10-19 08:21:53 · 446 阅读 · 0 评论 -
[CH6202]黑暗城堡(最短路径生成树)
传送门 通过学习我们可以发现原题目要求的树结构就是“最短路径生成树”,什么是最短路径生成树呢?就是一张图的源点到图中的所有结点的最短路径构成的树,为什么他满足树结构呢?因为假设有n个点,因为是最短路径一定只有n-1条边把他连起来。 那对于本题,每个点的D[i]D[i]D[i]可以先跑一遍DijkstraDijkstraDijkstra得出来,接下来思考如何计数。 计数方法...原创 2018-10-23 08:22:24 · 1362 阅读 · 0 评论