Processing math: 100%

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

摘要:【UOJ 32】【UR 2】跳蚤公路(最短路) 题面 "UOJ" 题解 不难发现要求的就是是否存在负环。也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和x相关的内容,即维护一下uv路径上,含有kx的路径的最小的b。这个可以用FloydO(n5)的复 阅读全文
posted @ 2019-06-18 19:40 小蒟蒻yyb 阅读(625) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4016】[FJOI2014]最短路径树问题(点分治,最短路) 题面 "BZOJ" "洛谷" 题解 首先把最短路径树给构建出来,然后直接点分治就行了。 这个东西似乎也可以长链剖分,然而没有必要。 cpp include include include include include inc 阅读全文
posted @ 2019-06-06 15:38 小蒟蒻yyb 阅读(521) 评论(0) 推荐(0) 编辑
摘要:【BZOJ5506】[GXOI/GZOI2019]旅行者(最短路) 题面 "BZOJ" "洛谷" 题解 正着做一遍dij求出最短路径以及从谁转移过来的,反过来做一遍,如果两个点不由同一个点转移过来就更新答案。 cpp include include include include using n 阅读全文
posted @ 2019-04-19 15:17 小蒟蒻yyb 阅读(392) 评论(0) 推荐(0) 编辑
摘要:【BZOJ5197】Gambling Guide (最短路,期望) 题面 "BZOJ权限题" "洛谷" 题解 假设我们求出了每个点的期望,那么对于一个点,只有向期望更小的点移动的时候才会更新答案。 即转移是:$\displaystyle f[u]=\frac{\sum_{v,(u,v)\in E}m 阅读全文
posted @ 2019-03-11 22:24 小蒟蒻yyb 阅读(379) 评论(0) 推荐(0) 编辑
摘要:【CodeChef】Querying on a Grid(分治,最短路) 题面 "Vjudge" "CodeChef" 题解 考虑分治处理这个问题,每次取一个mid,对于mid上的三个点构建最短路径树(因为保证了最短路唯一所以是树)。 如果两点之间的最短路径跨越了mid,那么必定有$di 阅读全文
posted @ 2019-03-01 16:57 小蒟蒻yyb 阅读(453) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4061】[Cerc2012]Farm and factory(最短路,构造) 题面 "BZOJ" 然而权限题QwQ。 题解 先求出所有点到达1,2的最短路,不妨记为du,1,du,2。 那么假设新点是x,任意一个点u。 那么可以得到几个不等式:$d_{u,1} 阅读全文
posted @ 2019-03-01 15:50 小蒟蒻yyb 阅读(383) 评论(0) 推荐(0) 编辑
摘要:NOIP2013题解 Day1 转圈游戏 circle 快速幂模板题。 花匠 flower 发现要求的就是一个最长波动序列。考虑一种dp做法,设f[i][0/1]表示当前第i个位置,它是峰开始谷,转移的时候分类讨论一下。如果hihi+1,那么$f[i][1]=f[i 1][ 阅读全文
posted @ 2018-11-08 15:53 小蒟蒻yyb 阅读(405) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2285】[SDOI2011]保密(分数规划,网络流) 题面 "BZOJ" "洛谷" 题解 首先先读懂题目到底在干什么。 发现要求的是一个比值的最小值,二分这个最小值k,把边权转换成tsk,其中t是时间,s是安全系数。那么通过一遍SPFA可以求出到达所有的目标点的危险 阅读全文
posted @ 2018-11-05 20:03 小蒟蒻yyb 阅读(281) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1880】[Sdoi2009]Elaxia的路线(最短路) 题面 "BZOJ" "洛谷" 题解 假装我们知道了任意两点间的最短路,那么我们怎么求解答案呢? 不难发现公共路径一定是一段连续的路径(如果不连续那么显然可以把中间分开的那段变成一样路径)。 这样子我们只需要O(n2)枚举这个 阅读全文
posted @ 2018-10-16 19:46 小蒟蒻yyb 阅读(216) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1295】[SCOI2009]最长距离(最短路) 题面 "BZOJ" "洛谷" 题解 这题很妙啊。 我们枚举一个点,只需要考虑到他的最远点就行了,显然只需要考虑一个点即可。那么这两个点之前联通的最小代价显然就是连接这两个点的路径中1最少的那条,那么直接跑一遍最短路就好了。 cpp in 阅读全文
posted @ 2018-10-06 21:52 小蒟蒻yyb 阅读(267) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1294】[SCOI2009]围豆豆(动态规划,状压) 题面 "BZOJ" "洛谷" 题解 首先考虑如何判断一个点是否在一个多边形内(不一定是凸的),我们从这个点开始,朝着一个方向画一条射线,看看它和这个多边形的变相交了几次,如果是奇数次那么一定在这个多边形内,否则不在。 这个可以感性理解 阅读全文
posted @ 2018-10-06 16:50 小蒟蒻yyb 阅读(331) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1967】[AHOI2005]穿越磁场(最短路) 题面 "BZOJ" "洛谷" 题解 一个显然的思路是这样的,我们的正方形的边长把整个平面割成了若干块,显然每个联通块都可以看着做一个点,那么接下来只需要把所有的有相邻边的联通块全部连上一条长度为1的边表示如果要从这个联通块到达另外一个联 阅读全文
posted @ 2018-10-03 20:24 小蒟蒻yyb 阅读(294) 评论(0) 推荐(0) 编辑
摘要:【Vijos1404】遭遇战(最短路) 题面 "Vijos" 题解 显然可以树状数组之类的东西维护一下dp。这里考虑一种最短路的做法。 首先对于一个区间[l,r],显然可以连边(l,r+1),那么最终的问题转化成了从S时刻到E时刻的最短路。发现显然并不在意一个时间可以被个线段覆盖 阅读全文
posted @ 2018-09-25 14:03 小蒟蒻yyb 阅读(203) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1922】大陆争霸(最短路) 题面 "BZOJ" "洛谷" 题解 最短路变形题。 定义dis表示最短路,d表示最早可以进入当前点的时间。显然d=max(max(disv,dv)),其中v有着当前点的结节发生器。 那么Dijkstra跑一遍就好了。 注意一下这题边是单向的 阅读全文
posted @ 2018-09-19 19:19 小蒟蒻yyb 阅读(238) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2118】墨墨的等式(最短路) 题面 "BZOJ" "洛谷" 题解 和跳楼机那题是一样的。 只不过走的方式从3种变成了n种而已,其他的根本没有区别了。 cpp include include include include using namespace std; define M 阅读全文
posted @ 2018-08-30 08:31 小蒟蒻yyb 阅读(329) 评论(0) 推荐(0) 编辑
摘要:【洛谷3043】跳楼机(最短路) 题面 "洛谷" 题解 思路很妙嗷。 先只考虑只用y,z两种移动方式,它们一定能够到达一些楼层, 那么这些楼层再只用x拓展就能够计算答案。 那么我们这样子计算答案,设dis[i]表示可以到达mod x=i的楼层的最小值, 显然这个玩意可以最短路求,那 阅读全文
posted @ 2018-08-30 08:16 小蒟蒻yyb 阅读(383) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4912】天才黑客(最短路,虚树) 题面 "BZOJ" "洛谷" 题解 Anson爷讲过的题目,然而我还是不会做 只有照着zsy的程序打我才会做。。。。果然太弱了。 这道题目显然是把边看成点,然后把原图中的每一个点的入边和出边之间相互连边, 边权是lcp的长度,也就是在$Tri 阅读全文
posted @ 2018-07-02 21:57 小蒟蒻yyb 阅读(301) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2007】【NOI2010】海拔(最小割,平面图转对偶图,最短路) 题面 "BZOJ" "洛谷" Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个 正方形,每一个区域也可看作一个正方形。从而,YT城市中包括( 阅读全文
posted @ 2018-04-03 17:02 小蒟蒻yyb 阅读(343) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1001】狼抓兔子(平面图转对偶图,最短路) 题面 "BZOJ" "洛谷" 题解 这题用最小割可以直接做 今天再学习了一下平面图转对偶图的做法 大致的思路如下: 1.将源点到汇点中再补一条不与任何线段有交点的边。这条边把外侧无限大的区域划分为了两部分,一部分为S面,另外一部分为T阅读全文
posted @ 2018-04-03 16:41 小蒟蒻yyb 阅读(467) 评论(0) 推荐(0) 编辑
摘要:【BZOJ1491】【NOI2007】社交网络(最短路,动态规划) 题面 "BZOJ" "洛谷" ~~图片是假的,只能到OJ上看~~ Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象。不妨看这样的一个问题。 在一个社交圈子里有n个人,人 阅读全文
posted @ 2018-04-02 08:50 小蒟蒻yyb 阅读(370) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示