1 条题解
-
0
自动搬运
来自洛谷,原作者为

约瑟夫用脑玩
AFO搬运于
2025-08-24 22:29:41,当前版本为作者最后更新于2021-05-03 16:39:36,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
换一种方式来解释这道题的贪心可能更好理解一点。
首先我们得知道新图只与函数 的值有关,而由于我们可以在一条边上来回横跳,所以 是否有值取决于奇/偶最短路的长度,那么我们用 BFS 出最短路即可。
注意特判一下每个点只有奇数路径或偶数路径,即这是个二分图,那么直接用原图的最短路树就可以表示了。
否则,每个点都会有奇数和偶数路径,设一个点的奇最短路和偶最短路二元组为 。
由于顺序并没有关系,且为了
好看方便,我们取 为奇偶中较短的最短路, 为较长的,即 。那么考虑导致 的方式:
-
有另一个点奇偶最短路分别为 ,并连了一条边。
-
有两个点分别为① 和② ,都连了一条边。注意当 时,有

解释一下:第二个方式中①的第一维保证较小最短路为 ,②第二维保证了较大最短路为 ,而他们的其他维由于与 的点有直接连边故最大都只能 。
第一种方式只用一条边显然血赚,但可能没有 的点,此时就只能用第二种方式。
所以才出现了如下的贪心方法:
- 按先 为第一维,再 为第二维依次考虑。(下图中纵坐标为倒着的 ,横坐标为倒着的 ,故先从上到下,再从右到左依次考虑,也就是把上图往右掰了一点)

-
如果右边 没有第二种方式的需求传过来,那么 直接选第一种方式。
否则 的一部分点用于满足其需求,于是还会有需求往左 传,如果 点数有多余的就还是用第一种方式。
最后我们会传到 的边界,此时就相当于同类连边不再传了。
这样看的话,就是将必须用第二种方式的边一直往左传,传到边界用每个点 的代价消掉,而传时还有 的代价,故将本来用 的代价减小为 的代价。
注意到 ,故有多余不用传时尽量还是用第一种方式。
和其他题解最后的做法都一样,但思路可能会好理解点qwq。
Upd:修改了一点小锅,以前是对的表述就没改了。(虽然读着有点奇怪)
-
- 1
信息
- ID
- 6537
- 时间
- 1000ms
- 内存
- 250MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者