随笔分类 - dijkstra
摘要:先不考虑只有一个显得有些特殊的天兵。 可以发现超能力的作用实质上是使兵更换职业。每一个兵到达某个位置最少需要更换职业的次数是彼此独立的,因为如果需要某两人互换职业可以使他们各自以当前职业到达需要到的地方,不会造成其中一个次数增加。 于是预处理出每个兵到达每个位置的最少代价。之后二分答案,把每个兵向可
阅读全文
摘要:如果对某个点能求出与其相邻的所有点到达出口的最短时间,那么该点的答案就可以在其中取次小值了。 对于dijkstra魔改一下就能做到这个。初始时将所有出口的最短时间设为0并放入堆,记录最短和次短路径,每个点更新后将次短路径入堆。
阅读全文
摘要:显然这样的路径一定是选择了与1相邻的不同的两点分别作为起点和终点(除1本身)。如果能将每一组起点终点都计算到就可以得出最优解了。暴力显然不行。注意到我们每次求出的是单源最短路径,考虑如何充分利用信息。那么有一种神奇的方法:按照编号的二进制的某一位给所有与1相邻的点分组,一组作为起点另一组作为终点,然
阅读全文
摘要:求出最短路后找出可能在最短路上的边,显然割完边后我们需要让图中这样的边无法构成1到n的路径,最小割即可,非常板子。
阅读全文
摘要:显然答案就是最小割。直接跑dinic也能过,不过显得不太靠谱。 考虑更正确的做法。作为一个平面图,如果要把他割成两半,那么显然可以用一条曲线覆盖且仅覆盖所有割边。于是我们把空白区域看成点,隔开他们的边看成边,原图的最小割就是这张新图中能割开原起点和终点的两个区域之间的最短路。 建出来的新图就是原图的
阅读全文