POJ 2513(trie 並查集 尤拉迴路)

2021-06-04 23:21:59 字數 758 閱讀 2061

自認為此題有個bug

#define number 500005

int p[number + 5];

int rank[number + 5];

void make_set(int x)

int find_set(int x)

void link_set(int x, int y)

}void union_set(int x, int y)

int index;

int degree[number];

struct trie

* root;

int make_tree(char *s)

r = r->p[s[i] - 'a'];

}if (r->cnt == -1)

r->cnt = index++;

return r->cnt;

}int main()

int sum = 0;

for (i = 0; i < index; ++i)

if (sum == 0 || sum == 2)

}if (i >= index - 1) printf("possible\n");///bugggggggggggggggggggggggggg

else printf("impossible\n");

} else printf("impossible\n");

} return 0;

}

POJ 2513 Trie樹 尤拉迴路 並查集

1.把木棒的端點考慮為頂點,木棒考慮為邊,建立起乙個無向圖。2.問題轉化為在無向圖上判斷是否有尤拉迴路或者尤拉道路。3.在無向圖上判斷是否有尤拉迴路或者尤拉道路 尤拉定理 並查集 判斷連通性 4.考慮如何統計每個頂點的度,開始用的是暴力解法,直接用陣列記錄頂點,並且通過順序查詢獲得頂點編號,tle,...

POJ 2513 TRIE樹 並查集 尤拉路

題意 給定許多根木棒,兩邊分別塗有不同顏色,問能否將他們連成一條直線。規定只能將相同顏色的兩端相連。思路 用trie樹儲存單詞,trie樹最後乙個字母的節點編號就是這個單詞的編號 可以和模擬 並查集檢查是否連通 有尤拉路的前提是圖連通 最後加上無向圖尤拉路的判定就好了 奇數度的節點只能有0或2個 v...

POJ 2513 Trie樹 並查集以及尤拉路徑

這道題做的時候,幹的最sb的事就是斷點列印的東西沒刪乾淨,結果導致一開始怎麼交怎麼wa,後來怎麼交怎麼ac。不過仍然有很困惑的地方,就是在csdn blog中,他的trie樹第二維只有15,但是能過,就很奇怪,而且將其改到應該是正確的26,卻runtime error。主要是三個方面,trie樹 並...