【BZOJ2125】最短路(仙人掌,圆方树) 题面 BZOJ 求仙人掌上两点间的最短路 题解 终于要构建圆方树啦 首先构建出圆方树,因为是仙人掌,和一般图可以稍微的不一样 直接\(tarjan\)缩点,对于每一个强连通分量构建方点(只有一个点的就不要建了) 圆方边的权值定义为到\(dfs ...
这道题主要是要解决以下两个问题: 问题 : 给定一个点 x ,如何取出所有经过它的下水道 一条下水道经过 x 等价于它起点在 x 的子树里面且终点不在 x 的子树里面,或者两端点的lca就是 x 。 对于第一种情况,也就是说起点在 x 的dfs序子区间里,终点小于 st x 或者大于 en x 。 假设下水道是 A B 向 C D 连边,并且 st A lt st B , 那么只需要不断查询 st ...
2016-09-14 02:51 0 1945 推荐指数:
【BZOJ2125】最短路(仙人掌,圆方树) 题面 BZOJ 求仙人掌上两点间的最短路 题解 终于要构建圆方树啦 首先构建出圆方树,因为是仙人掌,和一般图可以稍微的不一样 直接\(tarjan\)缩点,对于每一个强连通分量构建方点(只有一个点的就不要建了) 圆方边的权值定义为到\(dfs ...
例题 例题1 例题2 最短路计数 最短路输出方案 ...
学了多年的算法,最短路问题相当之常见———— 好久没写过最短路的问题了,直到昨天闲的无聊来了一题——BZOJ3402(HansBug:额才发现我弱到只能刷水的地步了TT) 一看这不是明显的单源最短路么呵呵。。。于是直接上来来了个dijkstra,而且用的是邻接表存储图—— Submit之后 ...
让我们进入正题 最短路是啥 emmm 顾名思义最短路就是求一个点到另外一个点的最小距离 一般来说最短路分为:单源最短路和多源最短路 单源最短路就是求一个源点到另外多个点的最短距离 而多源最短路就是求多个点到其他点的最短距离 算法一般有: floyd(多源 O(\(n ...
分层图最短路 一个听起来就很高端的词,其实也没有听起来那么可怕啦。 关于这道题的小故事:loli说要从头讲输入输出!于是我们被赶到了高一高二的机房,学姐说:我给你推荐道题吧... 我自己想到这个做法的时候是这么做的,将所有的点,所有的边都建出来,非常好做,但是占的内存比较 ...
同余最短路 定义: 出现: 给定 \(n\) 个整数,求这 \(n\) 个整数能拼凑成多少的其他整数(可重)。 给定 \(n\) 个整数,求这 \(n\) 个整数能不能拼凑出最小/大的整数。 至少拼凑几次才能凑出来模 \(K\) 余 \(p\) 的数。 方法: 同余最短路 ...
转载 http://www.61mon.com/index.php/archives/194/ 文章目录 ...
同余最短路其实是一种优化最短路建图的方法。 通常是解决给定m个整数,求这m个整数能拼凑出多少的其他整数(这m个整数可以重复取)或给定m个整数,求这m个整数不能拼凑出的最小(最大)的整数。 我们通过一道例题来讲解。 P3403 跳楼机 简化一下题意:用a,b,c(这里用a,b,c来代替x ...