์๊ณ ๋ฆฌ์ฆ
[Algorithm | Python] HeavyLight Decomposition (HLD)
ใ ในใท ์ฌ๋ ค์ผ์ง, ์ฌ๋ ค์ผ์ง ํ๊ณ ํ๋ ๊ฑธ ์ด์ ์ผ ์ ๋ฆฌ. ์์ง ์์ฑ๋์ง ์์๋ค HeavyLight Decomposition (HLD)๋ ํธ๋ฆฌ์์์ ์ฟผ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ํํ๋๋ก ํ๋ ํ ํฌ๋์ด๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ ์ฟผ๋ฆฌ๊ฐ ์๋ค. 1. ํธ๋ฆฌ์ ์ ์ $u$ ์์ $v$ ๋ก ๊ฐ๋ ๊ฒฝ๋ก ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ค์น๋ฅผ ๊ฐ์ง ์ ์ ์ ์ฐพ๋ ์ฟผ๋ฆฌ 2. ์ ์ ์ ๊ฐ์ค์น๋ฅผ ๋ฐ๊พธ๋ ์ฟผ๋ฆฌ ๋ฐฐ์ด์์ ์ ์ฟผ๋ฆฌ๋ค์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๊ฐ๋จํ๋ค. ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ ํ์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด $O(QlogN)$์ ํด๊ฒฐํ ์ ์๋ค. ํ์ง๋ง ์ด๋ ๋ฐฐ์ด์ด ์ ํ์ธ ์ ์ ํ์ฉํ ํ์ด๋ฒ์ด๊ธฐ์, ๋น์ ํ ์๋ฃ๊ตฌ์กฐ์ธ ํธ๋ฆฌ์๋ ์ ์ฉํ ์ ์๋ค. ํธ๋ฆฌ๋ฅผ ์ ๋นํ ๋๋ ์, ๋๋ ๊ตฌ๊ฐ์ ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ๋ก ๊ด๋ฆฌํ๋ฉด ์ด๋จ๊น? ๋ผ๋ ๋ฐ์์์ ๋์จ ๊ฒ ์ค๋ ๋ค๋ฃฐ HeavyLight Decompos..
[๋ฐฑ์ค | BOJ] Good Bye, BOJ 2021! ํ๊ธฐ ๋ฐ ํ์ด (ABCD)
๋ฐฑ์ค์์๋ ์ฐ๋ง์ ๊ตฟ๋ฐ์ด ๋ฐฑ์ค, ์ฐ์ด์ ํฌ๋ก ๋ฐฑ์ค(๊ตฟ๋ชจ๋ ๋ฐฑ์ค) ํ์ฌ๊ฐ ์๋ค. 2021 ๋ฐฑ์ค ๋ง๋ฌด๋ฆฌํ ๊ฒธ ๋ฌธ์ ํ์ด. ๋ํ์์๋ 2์๋ธ, ๋๋๊ณ CD ์ ์๋น๊น์ง ํ๋ค. A. 2021์ ๋ฌด์์ด ํน๋ณํ ๊น? $N$ ๋ฒ์๊ฐ $10,000$์ด๋ค. ์์๋ฅผ ์ญ ๋์ด๋๊ณ , ๋๊ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ณฑํด๋๊ณ ์ด๋ถํ์ํด์ ํ์๋ค. ์ฌ์ค ์ด๋ถํ์์ ํ์๊ฐ ์๋๋ฐ. ์์ ๊ฐ์๊ฐ 30๊ฐ๊ฐ ์ ๋๋ค. ๋ฐฐ์ด์ ํ ๋ฐํด ๋ ๊ฑธ. $N = 10,000$์ผ ๋ 103๊น์ง ๋ฃ์ด๋ฌ์ผ ํ๋๋ฐ, ๋ฃ์ง ์์์ WA, ํ ์คํธํ๋ต์๊ณ ๋ฃ์ ์ฝ๋๋ฅผ ์ ์์ ์ WA. ์์ํ ์ค์๋ฅผ ๋ง์ด ํ๋ค. ์ ์ถ ์ ์๋ ๊ผญ ์ฒดํฌํ์. B. ์์ ์ผ์ดํฌ ๋ํ ์ค์๋ OEIS์ ํ์ ๋ฐ์์ ํ์๋ค. ์์ผ๋ก ์ค์ค ์ฐ๋ค๊ฐ ๋ญ๊ฐ ๊ท์น์ด ์๋ ๊ฒ ๊ฐ์์ ๋๊ฒผ๋ค. ์ฆ๋ช ์ ์๋์ ๊ฐ๋ค. $N ..