最短路
文章平均质量分 89
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
CSU 1806 Toll(自适应Simpson公式+Dijkstra+priority_queue)
最短路,但是费用随着时间而变化,问最小费用关于时间积分的平均数。 对于求积分,很早的时候大概是大一第一个学期的时候,学Python时候LWW老师就曾经给我们讲过一个叫Simpson公式以及自适应Simpson公式的东西。当时呢学着觉得也没啥用,不就是算个积分吗,用处不大…… 然后这题就是一个计算积分的题目,正好就用到了自适应Simpson公式。所谓Simpon公式,就是指对于函数f(x)在一个区间[l,r]上的积分,可以近似等于(r-l)*(f(l)+f(r)+f(mid)/原创 2017-08-28 11:23:16 · 252 阅读 · 0 评论 -
HDU 6331 2018HDU多校赛 第三场 Walking Plan(最短路+矩阵优化+分块)
大致题意:给你一个含有不超过50个点的图,然后有q个询问,每次给出三个数字s、t和k,问从s出发走到t,至少需要经过k条边的最短路径是多少。非常厉害的一道题,曾经我以为自己对矩阵的所有用途已经很了解了,但是这次再一次让我发现自己真的还是太无知……首先,我们考虑最初状态的邻接矩阵的含义,f[i][j]表示从i走到j最近的一条边的长度,那么我们也可以看成是从i到j经过一条边的最短路。然后,如果考虑这个矩阵自己与自己进行矩阵“乘法”,这里打个引号因为这个乘法的含义不同于普通的矩阵乘法,具体来说,我们定义乘法为:,原创 2018-07-30 23:34:08 · 379 阅读 · 0 评论 -
计蒜客 Emptying the Baltic (BFS+Dijkstra)
看起来一道很神奇的题目,最后居然很想是最短路的…… 大致题意:给你一个N*N的地图,然后每个格点的面积是1,图中标明了数字表示地形的海拔。初始的时候海拔低于0的地方都有水,然后告诉你在某一个固定的位置开一个不记大小的无底洞,水可以源源不断的流入。水流符合重力因素,现在问你最后的最多能从这个洞中流出多少水。 其实这题仔细想来,还是挺坑的,看起来像是一个简单的模拟,但是实际操作起来不那么简单。首先,知道那个开口的位置,很容易想到从开口位置开始进行广搜,拓展周围的点让水流下去。具体原创 2017-12-05 21:22:51 · 430 阅读 · 0 评论 -
计蒜客 2018 ICPC宁夏 Trouble of Tyrant(单调队列+离线处理+最短路)
大致题意:给你一个包含2n-3条边和n个点的图,具体图的形状在下图中给出。告诉你每条边的长度,让你回答q个询问。每个询问包含一个数字di,意思是如果把所有边的长度都增加di,从1到n的所有路径中最短的路径长度是多少。 注意到,每次路径长度增加,对于经过路条数多的路径来说,增量更大。因此当增加很多的时候,选择经过路条数少的路径会更优。又观察到,这个图中,总共从1到n总共有n-1条路,对应经过路条数恰好也是1~n-1。因此,对于不同路条数的路原创 2018-04-23 21:55:17 · 382 阅读 · 0 评论 -
HDU 3247 Resource Archiver(AC自动机+状态压缩dp+最短路BFS)
大致题意:给你一些合法字符串,和一些不合法串,现在要求你构造一个字符串,使得这个字符串包含所有哦的合法串,且不包含任何不合法串,而且长度最短。 这里了涉及到一个长度最短,可能就和之前的一些题目不同。我们注意到这个数据范围,合法串只有最多10个,所以状态压缩dp很容易想到。这里是求字符最短长度,如果把长度看做代价,很容易发现,此题和状态压缩的鼻祖 HDU 4568 很像。这题是要求你在一个矩阵中取10个以内的东西,每次走一步,问你最少需要走多少步能够取完所有的东西。今天这题则是构造字符串,要求原创 2018-02-25 10:00:29 · 373 阅读 · 0 评论 -
CSU 2005 Nearest Maintenance Point(最短路+bitset优化转移)
比赛的时候MLE到想哭的题目,死都没想到用bitset…… 大致题意:给出一个图,然后给出一些关键点,然后有很多个询问,每次询问的时候问到达某点x最近的关键点是哪一个,如果有多个关键点同样近,那么把这些点全部输出。 如果不要求全部输出,那就是大水题一道,但现实是要全部输出来。初始的想法,对于每个点设置一个vector,存储到达每个点最近的关键点有哪些。但是发现合并起来并不方便,如果元素较多会导致超时。然后又考虑把最初来源作为新的一维,一起加入优先队列中,作为dijkstra的原创 2017-09-11 00:22:18 · 329 阅读 · 0 评论 -
CSU 1891: Full Tank?(dijkstra+priority_queue or dp?)
1891: Full Tank? Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 57 Solved: 11 DescriptionAfter going through the receipts from your原创 2017-04-27 18:32:55 · 732 阅读 · 0 评论 -
CSU 1808 地铁(Dijkstra变形+构图)
据说是叉姐出的题?! 还是比较有意思的,在普通最短路上加上了一个几号线之间的换乘费用。普通的最短路貌似解决不了了,因为很容易构造出一组数据,在不管几号线的时候的最短路和考虑这些的最短路不同,且点都不一样。那么怎么做呢?原创 2017-07-20 16:24:37 · 570 阅读 · 0 评论 -
HDU 5361(最短路+并查集优化)
比较奇怪的最短路…… 每个人往离他距离大于等于l,小于等于r的点有连边,而且权值一样大。然后问从起点到达每个点的最短距离。 首先我们明确一点,肯定不能建图。因为我每个点的l、r可能很大,也就意味者,每个点连出去的边可以很多,边的数量可以到达N^2的级别。这也就意味着不能用spfa,因为边本身就不可能枚举。于是只能用dijkstra。这题用dijkstra还有一个优点就是,dijkstra中可以保证,如果一个点已经被更新过,那么这个点不可能再被更新,即每个点只能被更新一次。总共原创 2017-07-21 09:09:22 · 480 阅读 · 0 评论 -
CodeForces 1197E Culture Code(最短路/dp)
大致题意:给你n个俄罗斯套娃,告诉你每个套娃内外的半径。问你这里面有多少个集合,可以使得外层不能再套别的套娃而且里面剩余的空间最小。这题的话想到思路还是不难的,无非是套娃的嵌套关系。如果我们找到所有的嵌套关系,我们可以考虑建立一个有向带权图。对于任意的边<u,v,w>表示第u个套娃可以套第v个套娃而且套了的话中间缝隙为w。如此,我们只需要对于这个带权有向图求一下...原创 2019-07-23 13:06:44 · 530 阅读 · 0 评论