
[C++] ์ ๋์จ ํ์ธ๋(Union-Find)
ยท
๐ Computer Science/โ Algorithm
์ ๋์จ ํ์ธ๋(Union-Find) ์๋ก์์ธ ์งํฉ๋ค์ ๋ถํ ํ์ฌ ์ ์ฅํ ์งํฉ Union(): ๋ ์งํฉ์ ๋ฃจํธ ๋ถ๋ชจ๋ฅผ ํฉ์นจ Find(): ์์ ์ ๋ฃจํธ ๋ถ๋ชจ๋ฅผ ์ฐพ์ ๊ณ์ํด์ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ ๊ณผ์ ๋ฌธ์ https://www.acmicpc.net/problem/1717 1717๋ฒ: ์งํฉ์ ํํ ์ฒซ์งธ ์ค์ n(1≤n≤1,000,000), m(1≤m≤100,000)์ด ์ฃผ์ด์ง๋ค. m์ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์ฐ์ฐ์ ๊ฐ์์ด๋ค. ๋ค์ m๊ฐ์ ์ค์๋ ๊ฐ๊ฐ์ ์ฐ์ฐ์ด ์ฃผ์ด์ง๋ค. ํฉ์งํฉ์ 0 a b์ ํํ๋ก ์
๋ ฅ์ด ์ฃผ์ด์ง๋ค. ์ด๋ a๊ฐ ํฌํจ๋์ด ์๋ ์งํฉ๊ณผ, b๊ฐ ํฌํจ๋์ด ์๋ ์งํฉ์ ํฉ์น๋ค๋ ์๋ฏธ์ด๋ค. ๋ ์์๊ฐ ๊ฐ์ ์งํฉ์ ํฌํจ๋์ด ์๋์ง๋ฅผ ํ์ธํ๋ ์ฐ์ฐ์ 1 a b์ ํํ๋ก ์
๋ ฅ์ด ์ฃผ์ด์ง๋ค. ์ด๋ a์ b๊ฐ ๊ฐ์ ์งํฉ์ ํฌํจ๋์ด..