51Nod1967 路徑定向

2021-08-08 11:55:45 字數 489 閱讀 4158

給出乙個有向圖,要求給每條邊重定向,使得定向後出度等於入度的點最多,輸出答案和任意一種方案

input

第一行兩個正整數n,m,表示1-n號點與m條邊

接下來m行,每行兩個正整數xi,yi,表示存在一條有向邊從xi指向yi

n≤10^5, m≤3*10^5, xi,yi≤n

output

第一行乙個整數ans,表示定向後出度等於入度的最大點數

第二行乙個長度為m的01字串,第i位為0表示第i條邊不改向,第i位為1表示第i條邊改變方向

input示例

7 7

1 2

2 3

2 3

4 5

1 5

6 7

6 7

output示例

5 0010110

題解 猜想每個偶點都是可行的。

對於奇點,連邊使得他們成為偶點,跑尤拉迴路給每條邊定向。

51NOD 1967 路徑定向

給出乙個有向圖,要求給每條邊重定向,使得定向後出度等於入度的點最多,輸出答案和任意一種方案.n 10 5,m 3 10 5,xi,yi n 考慮先當每條邊雙向。如果這個圖的所有點的度都是偶數,那麼尤拉路徑跑一下就行了 考慮度為奇數的點 連線所有度為奇數的點,使其成為偶數點,顯然不會影響正確性 留個坑...

51nod1967 路徑定向(尤拉迴路 結論題)

看到入度等於出度想到尤拉迴路。我們把邊都變成無向邊,有乙個結論是偶數度的點都可以變成出入度相等的點,而奇數點的不行,感性理解分類討論一下就知道是對的。還有乙個更好理解的結論是變成無向邊後奇數點的個數一定只有偶數個,因為有乙個奇數點就一定有另乙個跟他對應。那麼我們把奇數點湊成對連邊,這樣奇數點也變成了...

1967 路徑定向

給出乙個有向圖,要求給每條邊重定向,使得定向後出度等於入度的點最多,輸出答案和任意一種方案 input 第一行兩個正整數n,m,表示1 n號點與m條邊 接下來m行,每行兩個正整數xi,yi,表示存在一條有向邊從xi指向yi n 10 5,m 3 10 5,xi,yi noutput 第一行乙個整數a...