随笔分类 -  NOIP-图论-最短路

摘要:题意 给定一个连通图,上面有若干标记点,求这些标记点之间的最短路。保证没有重边和自环。 思路 二进制分组一下,按照二进制位将标记点分开。每一组跑一次多源最短路(伪)(其实就是将多个点扔进优先队列跑dijk)。 (数据有点水,分成三组都能过) 代码 阅读全文
posted @ 2019-11-07 16:31 Ilverene 阅读(271) 评论(0) 推荐(0)
摘要:题意 有一张无向无环连通图,点和边均有权值。一条路径的值等于路径上点的最大值加上边之和。 多次询问,两点之间路径最小值。 思路 每个点跑一遍dijkstra,判断是否取点加入点值。 代码 阅读全文
posted @ 2019-08-17 15:18 Ilverene 阅读(134) 评论(0) 推荐(0)
摘要:题意 给定一个网格图,上面有x个节点,只允许在这些节点处转弯,问你从起点到终点的最短路。 思路 本题可以把起点和终点都看为中转站,那么显然我们只能在中转站之间移动。 显然,同一行或同一列的中转站没有必要来回走动,中转站的唯一作用就是换乘。 换言之,对于每一个中转站,我们只需要考虑它换乘时的作用即可。 阅读全文
posted @ 2019-07-22 11:58 Ilverene 阅读(250) 评论(0) 推荐(0)
摘要:这道题思路比较有意思,第一次做完全没想到点子上。。。 看到题目第一反应是一道最短路裸题,但是数据范围1e5说明完全不可能。 这个时候可以观察到题目给出了一个很有意思的条件,就是说边最多比点多20。 这有什么用呢? 那么我们大胆猜想,可否将整个图划分为21条边(连接最多42个点)和一颗树?(极限情况) 阅读全文
posted @ 2018-10-25 16:22 Ilverene 阅读(265) 评论(2) 推荐(0)
摘要:其实,这道题不用long long也能AC。 题意是给你一个矩阵,有一些格子被点亮有一些没有,每一次只能在被点亮的格子上面走。 然后你每一次都可以选择点亮一行或一排(非永久),现在问你最少点多少次可以走到终点? 思路十分好想。 我们把相邻的格子边权设为0,把不相邻但只差一行的格子之间边权设为1。(其 阅读全文
posted @ 2018-10-25 16:20 Ilverene 阅读(324) 评论(0) 推荐(0)
摘要:说起来这还是本蒟蒻学完Floyd之后做的第一道题。 emm...这是一道裸题,题目大致是说有一堆岛,岛之间有海盗,因此每一条边都有一个危险指数(权重),然后给出一段必须经过的路线,求从一号小岛走到N号小岛最小的危险指数是多少。 先介绍一下Floyd算法吧: Floyd(弗洛伊德)算法是用来求解带权图 阅读全文
posted @ 2018-10-19 21:37 Ilverene 阅读(176) 评论(0) 推荐(0)