首页 > 代码库 > CF723E(欧拉回路)

CF723E(欧拉回路)

题意:

给出一个有向图,要求给每条边重定向,使得定向后出度等于入度的点最多,输出答案和任意一种方案。

分析:

将图看作无向图,对每条边重定向

首先我们肯定分成多个连通分量来考虑,每一个连通分量都是一个无向图

如果一个无向图每个点的度数都是偶数,那么必定存在欧拉回路,于是每个点的入度=出度

如果一个无向图中有点的度数为奇数,那么这些点的个数一定是偶数,于是可以两两连线,那么最终就能形成一个每个点度数是偶数的无向图,于是又存在欧拉回路了,这样肯定最大的

全局考虑所有连通分量,当然可以对每个连通分量都做这个操作

但有个更方便的做法就是设一个点0,这个点连向所有度数为奇数的点,那么整个图就连起来了,对整个图求欧拉回路就可以了

CF723E(欧拉回路)