CF527E Data Center Drama
搬运一下前几天发在Luogu的、、
题意:给出一个无向简单图,然后你自己再加一点边,然后你给他们定向,要使得每个点的出度和入度都是偶数。输出加的边最少的任意方案。
先提出一种构造方案。
- 我们发现:对于一个有偶数条边、有欧拉路径的图,以 \(a\rightarrow b\leftarrow c\rightarrow d\leftarrow ...\rightarrow a\) 的方式定向,可以使得每个点的出度和入度都是偶数。(因为每次访问一个点都会使得它的入度/出度 +2)。
- 对于一个奇数条边的有欧拉路径的图,随便在某个点加个自环,就变成了一个偶数条边的图。
- 把原图加成一个有欧拉路径的图:考虑一个图只可能有偶数个奇点,那么把奇点配对相连即可。
梳理一下,就是我们先把奇点配对相连,然后如果有奇数条边就在随便哪个节点加个自环。然后找一条欧拉路径就行了。
正确性:
- 定向前答案的图一定是一个有欧拉路径的图,否则它存在点度数不是奇数,定向后也不可能入度+出度是偶数。如果原图不是那必须得加边。显然你加的边数已经是最少的了
- 一个奇数条边的图,定向后不可能所有点都入度+出度是偶数,所以必须加边,那就加一条自环,也是最少的。
QwQwQ