CF527E口胡

把一个点拆成两个状态:入度是否为偶数和出度是否为偶数。

然后我们将边随机定向,上述状态都得以确定。

然后,对于一条边,若连接的两边状态都为奇数,那么将这条边反向,这样两边都是偶数了。

我们将剩下的为奇数的状态拿出来,一定有偶数个。可以注意到一定没有边连接其中任意两个状态。

我们新建边连接这些状态即可。很显然你并不能继续压榨原图的边了,所以这样做一定是最少的。

如果入度为奇数的节点和出度为奇数的节点数量不同?

因为出入度为奇数,所以一定有一条边连接/被连接这个节点。此时反转这条边即可令出入度为奇数的节点数量分别加 \(1\)\(-1\)。因为总数一定是偶数且没有任何边连接这两个状态,所以是对的。

复杂度 \(O(n+m)\),不知道为什么并不需要欧拉回路,但是感觉本质很像。

posted @ 2022-08-13 16:55  Prean  阅读(34)  评论(0编辑  收藏  举报
var canShowAdsense=function(){return !!0};