hdu5883 尤拉通路

2022-03-01 00:53:55 字數 831 閱讀 8125

題意:n個點m條無向邊的圖,找乙個尤拉通路/迴路,下標是p1,p2,p3…pt,然後使得ap1xorap2xor…xorapt這個值最大。

思路:

首先要判斷一下這個圖是不是聯通的,用並查集就好了,然後有個注意點就是可能是單個獨立點;

然後再判斷是不是尤拉通路,不是也不行;

最後計算,最後如果是尤拉迴路還要找乙個最大起點(終點)。

#include 

using namespace std;

const int n=1e5+10;

int n;

int pre[n];

int a[n];

int in[n];

int find(int

x) return r;

}void union(int

x,int

y)void init()

}int main()

int flag=0;

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

if(flag==2)

int res,num=0;

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

if(!(!num||num==2))

int ans=0;

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

else

}//printf("%d\n",ans);

if(!num)

printf("%d\n",res);

}else

printf("%d\n",ans);

}return

0;}

HDU 5883 尤拉迴路

題面 思路 這裡面有坑啊啊啊 先普及一下姿勢 判斷無向圖尤拉路的方法 圖連通,只有兩個頂點是奇數度,其餘都是偶數度的。判斷無向圖尤拉迴路的方法 圖連通,所有頂點都是偶數度。重點 圖連通!思路 先看看圖是否聯通 就是所有邊都能經過麼 再判判是不是尤拉路 經過的次數 du i 1 2 如果是尤拉迴路 列...

HDU5883(青島網賽1006)(尤拉路)

思路 尤拉路的性質 經過每條邊一次且僅一次,奇度定點個數為0 尤拉迴路 或2 尤拉路 度數為x的頂點,貢獻為 x 1 2 2,首先當然需要先判斷是否存在尤拉路,再分是否為尤拉迴路兩種情況討論。include include includeusing namespace std const int n...

Catenyms(尤拉通路)

題目 分析 根據題目的意思可以想到兩個方向 把字串當做點,兩點能形成接龍形式則連一條有向邊,這是問題變成求一條點不重複的路且經過每乙個點。這就像乙個路徑覆蓋問題,但是圖上各種多重邊讓筆者不知道怎麼搞所以放棄這個想法 把字串當做邊,以26個字母為頂點建圖,問題變成求邊不重複的路且經過每一條邊,顯然這是...