摘要: 题意:给你所有道路的载重,找出从1走到n的所有路径中载重最大的,即路径最小值的最大值。 思路:和之前的POJ3268很像。我们用Dijkstra,在每次查找时,我们把最大的先拿出来,因为最大的不影响最小值,然后我们更新的时候,如果当前承重比我们新开辟的路的承重的能力差,那就替换成新的。 注意题目所给 阅读全文
posted @ 2018-07-31 20:14 KirinSB 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个地点,有m条路,问从所有点走到指定点x再走回去的最短路中的最长路径 思路:用Floyd超时的,这里用的Dijkstra。 Dijkstra感觉和Prim和Kruskal的思路很像啊。我们把所有点分为两个集合:S(和源点在同一集合),T(其余点),用dis数组表示每个点到S的最短距离,vi 阅读全文
posted @ 2018-07-31 19:12 KirinSB 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意:想给你公青蛙位置,再给你母青蛙位置,然后给你剩余位置,问你怎么走,公青蛙全力跳的的最远距离最小。 思路:这里不是求最短路径,而是要你找一条路,青蛙走这条路时,对他跳远要求最低。这个思想还是挺好迁移的,原来我们用mp[i][j]表示i到j最短路径,那么我们现在用它表示i到j最大步伐,然后每次比较 阅读全文
posted @ 2018-07-31 15:40 KirinSB 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 思路:Floyd模板题,注意一下Floyd核心的三个循环,顺序不要变,我们不能把k放在最内层。因为Floyd是通过不断遍历查找是否有更小的两个路径拼起来能比当前小,如果k在最内层,那么我们就会提前算好ij的最小路径,但是此时还有很多其他路径没有合并,无法保证这是最小的。 Floyd可以用来做多源最短 阅读全文
posted @ 2018-07-31 11:20 KirinSB 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 思路: 数位dp的操作是dfs+记忆化,我们dp开四维:位置,长度,进制,是否回文。然后每次暴搜记录下每个位置的数字是什么,搜到对称轴另一边需要检查是否符合回文。 终于把友谊赛的题目都补完了...没做出来的都是学过的,做出来的都是没学过骚操作过的...学以不致用... 代码: 阅读全文
posted @ 2018-07-31 10:36 KirinSB 阅读(173) 评论(0) 推荐(0) 编辑