
算法题
Yi_Ran_Zhang
这个作者很懒,什么都没留下…
展开
-
AcWing 1168. 简单单源最短路径问题
简单单源最短路径问题本题目和模板题最大的区别是,不断要判断是否存在负环,还需要判断源点到各个点的最短路径1.判断负环根据抽屉定理,如果某条最短路径上有n个点(除了自己),那么加上自己之后一共有n+1个点,由抽屉原理一定有两个点相同,所以存在环根据spfa算法的更新思路,就是一旦出现负环,就会在负环上不断绕圈圈,进而绕出cnt[i] > n的效果,因此我们可以使用一个cntcntcnt数组来维护当前这个点之前走过多少个点。但是判断负环的题目一般都会挖一个坑,即可能存在从源点走不到的负环,进而导原创 2021-03-08 22:44:02 · 204 阅读 · 0 评论 -
AcWing 1135.新年好
新年好感言:对于dfs本来就不太会的我,加之几个板子背的乱七八糟的人而言还是蛮难的,来日方长,继续加油。知识点:最短路 + DFS + 离散化解题思路:本题不是一般的最短路问题,求解的是拜访完所有亲戚这一路上需要走的最短路径。如果没有想到暴力枚举所有亲戚家的遍历次序的话,可能就GG了。本题的一大约束就是,总共就5个亲戚,加之题目是稀疏图,所以可以通过堆优化版dijkstra算法求加上自己家在内的6个点到其余点的最短路最短路求出来之后,我们只需要以1为访问的起点,然后求出6的全排列,按照全排列的顺原创 2021-03-08 22:42:10 · 218 阅读 · 0 评论 -
HDU-1548 A strange lift
A strange lift(HDU-1548)原题传送门本题的题意大致为,一栋楼有N层,一个人想从A层到B层去,其中电梯在不同的层数上能够上下移动的层数不同,问最短需要操作几次电梯?分析下题目给的测试样例:5 1 53 3 1 2 5意味着一共有五层楼,这个人希望从第一楼到第五楼去,其中电梯在一楼可以选择向上或者向下三层,二楼可以向上或者向下三层,三楼可以向上或者向下一层,四楼可以向上或者向下两层,五楼可以向上或者向下五层。手推一遍可以发现:一楼可以到达4层二楼可以到达5层三楼可以到原创 2021-03-07 19:18:31 · 279 阅读 · 0 评论