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

摘要:听说马上要新来一车同学,不知道有没有更多人陪我打球呢😀 阅读全文
posted @ 2022-05-25 09:28 C202044zxy 阅读(451) 评论(6) 推荐(2)
摘要:又能切 *3000 的题了,开心。 阅读全文
posted @ 2022-05-12 19:02 C202044zxy 阅读(531) 评论(0) 推荐(1)
摘要:我的博客大概要封笔了,最后一周也不会做什么题了,再见了朋友们。 [HNOI2014] 道路堵塞 题目描述 点此看题 解法 我们不妨考虑增量法,先把在最短路径上的边排除掉,跑完最短路之后再慢慢添加边。 如果我们要求删除边 \(i\) 的答案,那么我们需要添加边 \([1,i)\),并且考虑 \((i, 阅读全文
posted @ 2022-03-27 16:53 C202044zxy 阅读(401) 评论(7) 推荐(1)
摘要:Raffles 题目描述 点此看题 解法 首先考虑没有询问怎么做,考虑对第 \(i\) 个奖池增加一张彩票的贡献是(设现在的彩票数是 \(c_i<l_i\)): \(p_i(\frac{c_i+1}{c_i+1+l_i}-\frac{c_i}{c_i+l_i})=\frac{p_i\cdot c_i 阅读全文
posted @ 2022-03-04 22:52 C202044zxy 阅读(233) 评论(0) 推荐(2)
摘要:高维游走 题目描述 考虑以下在 \(m\) 维空间的游走过程:初始时你在原点,即每一维坐标为 \(0\) 的位置。接下来依次有 \(\sum_{i=0}^m t_i\) 次操作,分为 \(m+1\) 个阶段。第 \(0\) 个阶段有 \(t_0\) 次操作,每次操作可以不动或者选择任意一维向其正方向 阅读全文
posted @ 2022-02-28 20:38 C202044zxy 阅读(574) 评论(0) 推荐(2)
摘要:CF521E Cycling City 题目描述 点此看题 给定一张 \(n\) 个点 \(m\) 条边的无向简单图,问图中能否找到两个点,使得两个点之间至少有三条除端点之外点不交的路径。 \(n,m\leq 2\cdot 10^5\) 解法 我根本做不出这题,首先有一个奇妙的题目转化:两个点之间有 阅读全文
posted @ 2022-01-26 21:06 C202044zxy 阅读(236) 评论(2) 推荐(1)
摘要:一、题目 点此看题 二、解法 我自己的想法是把问题转化成 \(8\) 个点 \(n\) 条边的问题(把每个颜色看成一个点),这样看似简单实则难做,因为问题的关键是求最远点对数量,所以计数应产生在点之间而不是在颜色之间(而且这道题并不好把颜色转化到点),但是上面的思考也不是全无作用,它告诉我们答案一定 阅读全文
posted @ 2022-01-16 10:59 C202044zxy 阅读(81) 评论(0) 推荐(1)
摘要:风之轨迹「miracle」 题目描述 有 \(n\) 个点 \(m\) 条边的有向无环图,定义路径长度为路径上边的数量。 问删掉一个点之后所得到的最大的路径长度,并且要求你输出删除的这个点(有多解输出最小的一个) \(n\leq 5\times 10^5,m\leq 10^6\) 解法 为了便于讨论 阅读全文
posted @ 2021-11-17 20:37 C202044zxy 阅读(181) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 如果第二张图是欧拉图,那么可以通过两次走 \((u,v)\) 经过所有边恰好一次,因为无向连通图的欧拉路可以理解成原图的环拆分,我们以包含 \((u,v)\) 的大环为骨架就可以构造出方案。对于第一张图我们可以直接 \(\tt dfs\) 原图获得一个经过所有边两次的方 阅读全文
posted @ 2021-11-08 20:16 C202044zxy 阅读(63) 评论(0) 推荐(0)
摘要:总结 这次没有挂分,不过还是被淡随切吊打了。 任何题最基本的问题转化都要有,思维步骤都有共通之处,不要只会做序列题啊。 把题想简单一点,相信自己的实力都可以切,毕竟我切过 \(3400\) 的题啊! 保留环节:感谢 \(\tt crashed\) 大佬的精心准备,虽然他的电脑因为蓝屏必须重新造数据 阅读全文
posted @ 2021-10-15 17:07 C202044zxy 阅读(257) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 话说很多题都想了同余最短路,今天终于用上一回了。 首先可以暴力预处理 \(\sqrt k\) 以内的质因数然后对 \(k\) 搞质因数分解,其它因数可以被质数之和表示所以没用。 然后跑同余最短路即可,时间复杂度是 $O(\(最小质因数\)\cdot\log)$,我们可以 阅读全文
posted @ 2021-09-02 15:25 C202044zxy 阅读(91) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 讲一种势能 \(\tt dijkstra\) 的做法(简称势能算法),因为 \(\tt spfa\) 在单次扩展的时候可能会被卡到 \(O(nm)\),而势能 \(\tt dijkstra\) 的时间复杂度是严格的 \(O(m\log n)\),在一些扩展次数较小的毒瘤 阅读全文
posted @ 2021-08-15 21:23 C202044zxy 阅读(59) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 套路:当只有两个关键状态量时,我们以一个量为主,一个量为辅思考问题。 那么我们以 \(a\) 边为主,因为不可能表示出原图的最小生成树所以我们开始找结论。根据 \(\tt kruskall\) 算法我们先把所有 \(a\) 边连起来,那么会形成若干个 \(a\) 边连通 阅读全文
posted @ 2021-07-28 20:51 C202044zxy 阅读(142) 评论(0) 推荐(0)
摘要:## 一、题目 [点此看题](https://www.luogu.com.cn/problem/CF827F) 注意在时间点 $b$ 是不能通过这条边的,每条边的通行时间是 $[a,b)$ ## 二、解法 这道题的难点就在于并不是越早到某个点越好,考虑需要较晚到某一个点通路才开放,现有快路径和慢路径 阅读全文
posted @ 2021-07-27 15:15 C202044zxy 阅读(310) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 首先发现整个矩阵其实之和最后一行最后一列(我称之为边角)有关,如果确定了他们整个矩阵就确定了。考虑调整法,我们先让边角全为 $0$,那么得到的矩阵 $a$ 很可能是不合法的,我们考虑调整它。 调整有一个原则就是保持 $a$ 能构造出 $b$,调整 $a$ 的单个元素是困 阅读全文
posted @ 2021-07-18 12:15 C202044zxy 阅读(269) 评论(0) 推荐(0)
摘要:一、题目 点此看题 开始接受$...$痛苦不堪的回忆。 二、解法 你看它不用算具体的东西,只用算一个总和,这不用贡献法用什么? 考虑 \(v\) 的贡献,也就是保留 \([v,n]\) 的点和有关边时,和它能互通 \(u\) 点的个数。前 \([1,v)\) 不用考虑是因为如果和 \(u\) 能互通 阅读全文
posted @ 2021-07-17 20:05 C202044zxy 阅读(237) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 设 $dp[i]$ 表示把 $[1,r_i]$ 都治好的最小代价。注意这个状态并没有特殊限制时间,我们只需要保证最后所有人能被治好就行了。 我再进一步地解释这个状态,你可能会说这个状态很奇怪,我不一定要先治疗一个前缀,可以先从中间治起。那么你的说法是对的,所以我再三强调 阅读全文
posted @ 2021-07-14 21:46 C202044zxy 阅读(908) 评论(0) 推荐(4)
摘要:E. Garden of the Sun 题目描述 给定一个包含X和.的 \(n\times m\) 的矩阵,你需要把X改成.使得所有X向四周连边之后构成一棵树。 初始时X两两没有公共点。 \(1\leq n,m\leq 500\) 解法 每空两行把.全部染成X,这时候没有环,但也不连通。 空出来的 阅读全文
posted @ 2021-05-27 16:47 C202044zxy 阅读(65) 评论(0) 推荐(0)
摘要:一、题目 点此看题 \(n\) 个点 \(m\) 条边的无向图,边有边权,有 \(q\) 个三元组 \((u,v,l)\),存在一个三元组使得存在一条路径以 \(u,v\) 为端点,长度不超过 \(l\),并且经过这条边,那么这条边就合法。求合法边的数量。 \(2\leq n\leq 600,1\l 阅读全文
posted @ 2021-05-04 17:40 C202044zxy 阅读(79) 评论(0) 推荐(0)
摘要:Sneaking 题目描述 点此看题 解法 不难看出是最短路,一开始人傻了,直接暴力建图卡了好久,但是最后草过去了。 复杂度瓶颈在于四类边,发现就是多了 \(1\) 的花费有点难搞。可以采用建虚点的思想,我们按 \(F\) 进入坦克模式,花费为 \(1\),坦克模式开到上一个点的坦克模式花费也为 \ 阅读全文
posted @ 2021-05-02 12:46 C202044zxy 阅读(92) 评论(0) 推荐(0)