【题解】丁香之路
ethan_zhou · · 题解
2024.10.14 更新: 修复格式
感觉这题的思路非常奇妙,就算会做了也完全不知道为啥要这么想。。。
题意
有一个
思路
考虑在一个可重无向边集
-
\text{必须经过的}\ m\ \text{条边}\subseteq E - 存在一条
s\leftrightsquigarrow i 的欧拉路径
那么就有符合题目要求的一条路径存在。答案即为符合条件的
一开始,我们就先把题目要求的
欧拉路径不太方便搞,我们一开始就往
存在欧拉回路的条件:
-
2\mid\deg(i),\forall i\in[1,n] - 图联通
下面说如何向
恢复度数奇偶性
把所有
注:做法中所说的连边并不是说直接连
u\leftrightarrow v 。而是连(这样连边显然更优):\begin{aligned} u&\leftrightarrow u+1\cr u+1&\leftrightarrow u+2\cr u+2&\leftrightarrow u+3\cr \vdots \cr v-1&\leftrightarrow v \end{aligned}
联通性
建完前文所述的边之后,图缩成若干连通块。只要再加一些边,把这些联通块联通起来即可,可以看出,这是一个类似最小生成树的东西:
把所有
复杂度
证明
下证任何一组最优解
首先,我们把初始加的边(题目要求的
引理
有且仅有一个
-
-
E$ 中的白边边权都为 $1 -
- 在只考虑
E 中的边时,满足2\mid\deg(i)
比较显然,证明略。
原结论证明
- 首先,把
E^{\prime} 所有白边u\leftrightarrow v 都拆成若干i\leftrightarrow i+1 的边,显然不劣(详见前文)。 - 然后,重复以下过程,直到
E^{\prime} 中不剩下任何一对白色重边:- 从
E^{\prime} 找到一对白色重边 - 把这对边从
E^{\prime} 中删除 - 把这条边加入
G 中(只加一次即可)
- 从
感性理解:
此时,如果只考虑
由引理,此时