残阳褪去纯白的地平线,烟火绽放燃尽的灼之花

欧拉回路

感觉自己学了个假的欧拉回路。

trick 1#

  • 给定一个图,我们需要给每个边定向,使得每个点入度与出度差不超过 1

sol:

首先,因为有奇数点的存在,我们不能直接构造出欧拉回路。所以我们建立一个虚点,然后从所有奇数点和虚点连边,显然此时所有点度数都为偶数,我们跑欧拉回路求一组解,容易验证符合要求。

  • 应用

CF723E One-Way Reform#

注意到答案的上界是偶数点数量,而上述构造显然可以符合要求。

CF547D Mike and Fish#

考虑建立行-列的二分图,每个点就变成了一条边,我们跑一遍上述定向过程,然后把从左到右的边定位蓝色,反之为红色,显然符合要求。

CF429E Points and Segments#

考虑差分一下,那么就变成了 liri+1 单点加减。
对于每个位置,求出其被多少个区间覆盖了。
假设所有点都被偶数个区间覆盖了,那么最终一定是 0,也就是差分数组是 0,那么我们连一条 liri+1 的边,跑欧拉回路,根据边的方向加一减一一定是对的。
如果被奇数的区间覆盖,我们加一个区间 [i,i] 即可,注意需要离散化。

trick2#

  • 特殊情况下解决哈密顿回路问题。

CF325E The Red Button#

首先容易证明 n 为奇数无解,否则令 m=n/2
关键性质,x,x+m 拥有相同的入边,出边集合,其中 x[0,m) 。也就是说这对点某种程度上可以看成一个点
那么我们建一个 m 个点的图,每个点实际代表一对点 [0,m) 。然后从 x2xmodm,2x+1modm 连边跑欧拉回路,正确性证明比较显然。

ZR2482 飞毯#

就是让你构造一个长度为 n01 字符串使得本质不同子串数量最大。
首先我们找一下答案的上界,显然有一个:imin(2i,ni+1) ,接下来我们证明可以取到它。

求出满足 2k+k1n 最大的 k,那么我们只需要要求长度为 k 的串都出现,长度为 k+1 的串两两不同即可。

我们把每个长度为 k+1 的区间看成一个数,然后从 x2xmod2k+1,2x+1mod2k+1连边,现在我们需要在找一条长度为 nk 的不经过重复点的路径,使得 x,x+2k 至少出现一个。

考虑仿照上题做法构造一个 2k 的点的哈密顿环,此时可以发现把这个环当成长度为 k+1 时,x,x+2k 恰好有一个已经确定出边了,那么因为出边集合相同,另一个也确定了。这样会形成若干个环,其中有一个长度为 2k 的大环,并且 x,x+2k 恰好一个在大环上。

注意假设 x,x+2k 现在不在一个环上,交换 x,x+k 的出边可以使他们的环合并,那么我们不断合并环直到环长 nk,此时因为之前的环长 <nk 且满足 x,x+2k 至少出现了依次,我们只需要从之前的环的起点开始选,这样一定能把之前的环包上,就合法了。。

复杂度线性。

trick3#

  • 一类与差的绝对值有关的最优化问题。

[IOI2016] railroad#

题意就是,你在数轴上游走,向左走代价为 1,向右走没有代价,还有 m 条有向特殊边必须经过恰好一次,问最优代价。
考虑最终你游走的过程,如果 ii+1 走了 c 次,就连 cii+1 的边,i+1i 同理,那么就是要求加最少代价的边使得存在欧拉路径。
路径是不太好处理的,注意到我们可以加一条 inf1 的边不影响答案,因此可以变成询问欧拉回路。
对于相邻两条边 ii+1,我们求出它被特殊边覆盖的次数(从右向左是-1,从左向右是+1) w,如果 w>0,我们需要再加入 w 条向 i+1i 的边,代价为 w,否则假如 ii+1 的边,不需要代价。
这样加边显然是最优的,并且满足了欧拉回路的一个限制:所有点度数都是偶数。
但是还要联通才能有欧拉回路,于是我们还要加一些边使得图联通,显然只会加在相邻两点之间,一去一来。然后我们把这些边跑一个最小生成树使得图联通即可。

[省选联考 2020 B 卷] 丁香之路#

和上题大致相同,只是向左向右都有代价了,没有什么本质区别。

ucup Shanghai M. Circular Route#

posted @   Larunatrecy  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2023-02-24 2023/2/24 考试总结
点击右上角即可分享
微信分享提示
主题色彩