- DP
- ๋นํธ๋งต
- js
- ์ํฐ๋
- LCs
- ์์ฝ๋
- BFS
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ์นด์นด์ค2021
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ค์ต์คํธ๋ผ
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ์นด์นด์ค ์ฝํ
- nestjs
- ์ด๋ถํ์
- ํธ๋ฆฌ
- ์น๋ฆฐ์ด
- ๋นํธ๋ง์คํน
- DFS
- ์๊ณ ๋ฆฌ์ฆ
- go
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- C++
- Union-Find
- golang
- ๋ฐฑ์ค
- Python
- ์ฌ๊ท
- Today
- Total
๋ชฉ๋กC++ (50)
Hello Ocean! ๐ผ
๋ฌธ์ https://www.acmicpc.net/problem/13701 13701๋ฒ: ์ค๋ณต ์ ๊ฑฐ ๋ฌธ์ : N๊ฐ์ ์ ์ A1, A2, ..., AN ์ ์ฝ๊ณ , ์ด๋ค ์ค์์ ๋ฐ๋ณต๋๋ ์๋ฅผ ์ ์ธํ๊ณ ๋จ์ N'๊ฐ์ ์ B1, B2, ..., BN’ ์ ์ ๋ ฅ๋ ์์๋๋ก ์ถ๋ ฅํ์์ค. ์ด๋, 0 ≤ Ai < 225 = 33554432, i=1,2,…,N. ์ ๋ ฅ์ ๊ฐ์ N์ 1 www.acmicpc.net N๊ฐ์ ์ ์ A1, A2, ..., AN ์ ์ฝ๊ณ , ์ด๋ค ์ค์์ ๋ฐ๋ณต๋๋ ์๋ฅผ ์ ์ธํ๊ณ ๋จ์ N'๊ฐ์ ์ B1, B2, ..., BN’ ์ ์ ๋ ฅ๋ ์์๋๋ก ์ถ๋ ฅํ์์ค. ์ด๋, 0 ≤ Ai < 2^25 = 33554432, i=1,2,…,N. ์ ๋ ฅ์ ๊ฐ์ N์ 1 ์ด์ 500๋ง ์ดํ์ด๋ค. ํ์ด ์ซ์๋ฅผ ์์๋๋ก ์ ๋ ฅ๋ฐ์..
๋ฌธ์ https://www.acmicpc.net/problem/11437 -> LCA 1 https://www.acmicpc.net/problem/11438 -> LCA 2 ์ฃผ์ด์ง ๋ ๋ ธ๋์ ๋ํด LCA(๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์)์ ๊ตฌํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค. 1๋ฒ๊ณผ 2๋ฒ์ ์ฐจ์ด๋ ๋ ธ๋์ ์ต๋ ๊ฐฏ์ ๋ฐ ์๊ฐ ์ ํ์ ์ฐจ์ด์ด๋ค. LCA2๊ฐ ํจ์ฌ ๋นก๋นกํ๋ค. ํ์ด 1. 11437 LCA1๋ฒ ํ์ด ์ฐ๊ฒฐ๋ ๋ ๋ ธ๋ a,b๊ฐ N-1๊ฐ์ ์ค์ ๊ฑธ์ณ์ ์ ๋ ฅ๋๋๋ฐ, a,b์ค์ ์ด๋ค ๋ ธ๋๊ฐ ๋ถ๋ชจ๋ ธ๋์ธ์ง๋ ์ ๋ ฅ ๋ฐ์ ๋์๋ ์ ์๊ฐ ์๋ค. ๊ทธ๋์ ์ฒ์์๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ ํํ๋ก ์ ์ฅํ๋ค๊ฐ, ์ ๋ ฅ์ ๋ค ๋ฐ์ ํ์ BFS๋ฅผ ํตํด ๋ฃจํธ์ธ 1๋ถํฐ ํ๊ณ ๋ค์ด๊ฐ์ ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํ์ ํ ์ ์๋๋ก ํ๋ค. (๊ฐ ๋ ธ๋์ ๋ถ๋ชจ์, ๊น์ด ์ ์ฅ) ๊ทธ๋ฆฌ๊ณ LCA๋ฅผ..
๋ฌธ์ https://www.acmicpc.net/problem/12888 BOJ ๋๋ผ๋ ๋์์ ๋ ๋์๋ฅผ ์ฐ๊ฒฐํ๋ ๋๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ๋ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ฅผ ๊ฐ์ง๋ค. ์๋น์ด๋ BOJ ๋๋ผ์ ๋๋ก ๋คํธ์ํฌ ํธ๋ฆฌ์ ๋์ด H๋ฅผ ์๊ณ ์๋ค. ํธ๋ฆฌ์ ๋์ด๋ฅผ ์๋ค๋ฉด, ๋์์ ๊ฐ์์ ๋๋ก์ ๊ฐ์๋ ๊ตฌํ ์ ์๋ค. ํธ๋ฆฌ์ ๋์ด๊ฐ H์ธ ๊ฒฝ์ฐ์ ๋์์ ๊ฐ์๋ 2(H+1)-1๊ฐ ์ด๊ณ , ๋๋ก์ ๊ฐ์๋ 2(H+1)-2๊ฐ๊ฐ ๋๋ค. ์๋ ๊ทธ๋ฆผ์ H = 2์ผ ๋, ๊ทธ๋ฆผ์ด๋ค. ์๋น์ด๋ ๋๋ก ๋คํธ์ํฌ์ ์ฐจ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ๋ชจ๋ ์ฐจ๋ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ์์ผ๋ฉฐ, ๊ฐ์ ๋์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค. ์ฐจ์ ์์ ๋์์ ๋์ฐฉ ๋์๊ฐ ๊ฐ์ ์๋ ์๋ค. ๋ชจ๋ ๋์๋ฅผ ๋ฐฉ๋ฌธํ ์ฐจ์ ๊ฐ์๊ฐ ๋ชจ๋ 1๊ฐ๊ฐ ๋..
๋ฌธ์ https://www.acmicpc.net/problem/10838 N๊ฐ์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๋ ธ๋๋ 0๋ถํฐ N-1๊น์ง์ ๋ฒํธ๋ก ๊ตฌ๋ณ๋๊ณ , 0๋ฒ ๋ ธ๋๋ ๋ฃจํธ ๋ ธ๋์ด๊ณ , ๋๋จธ์ง ๋ ธ๋ ๊ฐ๊ฐ์ 0๋ฒ ๋ ธ๋์ ์์ ๋ ธ๋์ด๋ค. ํธ๋ฆฌ์ ์ ์ฉํ ์ ์๋ ์ฐ์ฐ์ ์ธ ์ข ๋ฅ์ด๋ฉฐ, ์ด๋ฅผ ํตํด ํธ๋ฆฌ์ ๋ชจ์์ ๋ฐ๊พธ๊ฑฐ๋ ํธ๋ฆฌ ์์ง์ ์์น ์ ํ ์ ์๋ค. ๊ฐ ์ฐ์ฐ๊ณผ ๊ทธ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ๋ค. paint(a, b, c): a๋ฒ ๋ ธ๋์ b๋ฒ ๋ ธ๋๋ฅผ ์๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ํ, ๊ฒฝ๋ก ์์ ์๋ ๋ชจ๋ ์์ง๋ฅผ ์๊น c๋ก ์น ํ๋ค. move(a, b): a๋ฒ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ฅผ b๋ฒ ๋ ธ๋๋ก ๋ฐ๊พผ๋ค. ๋จ, b๋ฒ ๋ ธ๋๋ a๋ฒ ๋ ธ๋๋ฅผ ๋ฃจํธ๋ก ํ๋ ๋ถํธ๋ฆฌ(subtree)์ ์ํ์ง ์๋๋ค. ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ฐ๊พธ๊ธฐ..
๋ฌธ์ https://www.acmicpc.net/problem/3584 ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ(rooted tree)๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ํธ๋ฆฌ ์์ ๋ ์ ์ ์ด ์ฃผ์ด์ง ๋ ๊ทธ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์(Nearest Common Anscestor)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์, ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ์ง๋ฉด์ ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(์ฆ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด 15์ 11๋ฅผ ๋ชจ๋ ์์์ผ๋ก ๊ฐ๋ ๋ ธ๋๋ 4์ 8์ด ์์ง๋ง, ๊ทธ ์ค ๊น์ด๊ฐ ๊ฐ์ฅ ๊น์(15์ 11์ ๊ฐ์ฅ ๊ฐ๊น์ด) ๋ ธ๋๋ 4 ์ด๋ฏ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ 4๊ฐ ๋ฉ๋๋ค. ๋ฃจํธ๊ฐ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๊ณ , ๋ ๋ ธ๋๊ฐ ์ฃผ์ด์ง ๋ ๊ทธ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์ ํ์ด ์ ๋ ฅ๋..
๋ฌธ์ https://www.acmicpc.net/problem/5052 ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ด ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ด ์๋์ง ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ฉด, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์ ๊ธด๊ธ์ ํ: 911 ์๊ทผ: 97 625 999 ์ ์: 91 12 54 26 ์ด ๊ฒฝ์ฐ์ ์ ์์ด์๊ฒ ์ ํ๋ฅผ ๊ฑธ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ ํ๊ธฐ๋ฅผ ๋ค๊ณ ์ ์์ด ๋ฒํธ์ ์ฒ์ ์ธ ์๋ฆฌ๋ฅผ ๋๋ฅด๋ ์๊ฐ ๋ฐ๋ก ๊ธด๊ธ์ ํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ์ด ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ด๋ค. ์ ๋ ฅ๋ ์ ํ๋ฒํธ ๋ชฉ๋ก์ ๋ํด ์ผ๊ด์ฑ์ด ์์ผ๋ฉด YES, ์์ผ๋ฉด NO๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค. ๋ชฉ๋ก์ ๋๊ฐ์ ์ ํ๋ฒํธ๊ฐ ๋ ๊ฐ ..