Codeforces 723E 尤拉迴路

2022-05-04 08:48:13 字數 1084 閱讀 9644

給定一張無向圖,將每條邊變成有向邊,使得出度等於入度的點最多。輸出最終入度=出度點的個數和每條有向邊。

第一問統計度數為偶數的點即可。

聯想尤拉回路上的每個點出度=入度,但原圖並不一定是無向圖的尤拉迴路,可以補成尤拉迴路,輸出的時候不輸出補的邊。

考慮到一張圖的奇數度數的點有偶數個,把它們分成2個點一組,然後每組加邊,那麼原圖就有尤拉迴路了。

#include #include 

#include

#include

#include

#include

#include

#include

#define max 207

#define maxn 10007

#define maxm 50007

#define mod 1000000007

using

namespace

std;

typedef

long

long

ll;struct

edgeedge[maxm*2

];int

head[maxn],tot,n,m,degree[maxn];

int ans[maxm*2],ansi,visit[maxm*2],flag[maxm*2

];void addedge(int u, int

v)void

init()

void dfs(int

now)

}}int

cas,u,v;

intmain()

int ans1=0

;

int js[maxn],jsi=0

;

for(int i=1;i<=n;i++)

else

}for(int i=0;i2

) printf(

"%d\n

",ans1);

for(int i=1;i<=n;i++)

for(int i=0;i)

}return0;

}

Codeforces 976E 題解報告

1 當把所有的倍數2 a都加到同一health上,health增加的最多 2 先計算每乙個creature的hp dmg,按該值對所有的creature排序 再求和,i include using namespace std const int n 200 1000 9 int hp n dmg n...

codeforces 1030E 暴力 思維)

題目 題意 給定一些數,可將區間 l r 中某些數的二進位制位的1的位置更換,使得最終區間所有數異或和為0,求這樣的區間個數。思路 在那裡瞎dp了好久,wa的很徹底,借鑑了一下別人的思路。區間合法的條件是 這個區間1的個數為偶數,並且區間中二進位制位1最多的乙個數的二進位制個數小於等於和的一半。我們...

Codeforces 1270E 構造 數學

有 n 個二維平面上的點,每兩個點之間連一條線段,將這些點劃分為兩個非空的集合 a b 同乙個集合內的兩點之間線段用黃色標註,不同集合的兩點之間線段用藍色標註,使距離相同的線段顏色相同。先將所有點的座標以其中乙個點作為原點轉化一下,使其中必定有乙個點是 0,0 然後將所有點按奇偶分為四組 0代表偶數...