Fork me on GitHub

随笔分类 -  最短路

摘要:https://www.luogu.org/problem/show?pid=1821大体描述一下题意:一张图,边为有向边,给出一个点 s,求其它点最大的从 x 到 s 和从 s 到 x 的最短路之和。机智的做法:我们可以跑两遍spfa,先跑出 s 到其它点的最短路,在将所有边反过来... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(136) 评论(0) 推荐(0)
摘要:Codevs 传送门 解法:因为这道题中颜色在一直变化,所以要用到一个分层图的做法。 因为颜色来回变,所以我们用0 , 1 来表示当前的时间。当时间是0时,所有点的颜色与起初一样;当时间为1 时,所有点的颜色就与起始时相反了。 用spfa来跑最短路时,交叉松弛, 我们用dis[ ][... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(119) 评论(0) 推荐(0)
摘要:luogu 传送门倍增吗? 我们定义 f[k][i][j] 表示从点 i 到点 j 能否通过跳2^k(1秒)直接跳到,跳到为1,否则为0; 那么就有如果 f[k-1][i][j]&&f[k-1][i][j] 则f[k][i][j]=1; (想一想就是啊)如果可以一步跳到的,di... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(113) 评论(0) 推荐(0)
摘要:luogu 传送门 搞了半天,终于搞了出来。 以前写过一个暴力70分的做法(点这里)在70分的基础上: 注意到只有空格在指定棋子旁边才有意义,所以可以O(n^2)记录状态,记录空格在指定棋子的哪个方向。 因为询问数比较多,所以可以预处理出来【指定棋子不动,空格移动到另一边】和【棋子... 阅读全文
posted @ 2017-09-24 17:48 primes 阅读(125) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problem/show?pid=1119#sub 弗洛伊德其实是一个三维的dp 以k为中间点时,f[k][i][j]=min(f[k][i][j],f[k-1][i][j]); 这个题询问的时间是有顺序的,所以可以改为两维, floyd... 阅读全文
posted @ 2017-04-09 10:21 primes 阅读(176) 评论(0) 推荐(0)