- C++
- ์น๋ฆฐ์ด
- Python
- Union-Find
- ์์ฝ๋
- DP
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ์นด์นด์ค2021
- ๋นํธ๋ง์คํน
- LCs
- ์ฌ๊ท
- BFS
- ๋ฐฑ์ค
- go
- nestjs
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์ด๋ถํ์
- js
- ์นด์นด์ค ์ฝํ
- ํธ๋ฆฌ
- DFS
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ค์ต์คํธ๋ผ
- golang
- ๋นํธ๋งต
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ์๊ณ ๋ฆฌ์ฆ
- ์ํฐ๋
- Today
- Total
๋ชฉ๋กAlgorithm (101)
Hello Ocean! ๐ผ
๋ฌธ์ https://www.acmicpc.net/problem/17244 17244๋ฒ: ์๋ง๋ค์ฐ์ฐ ๊ฒฝ์ฌ์จ๋ ์ ๋ ์ฝ์์ ๊ฐ๊ธฐ ์ ์ฑ๊ธฐ์ง ์์ ๋ฌผ๊ฑด๋ค์ด ์๋ ์ง ํ์ธํ๊ณ ์๋ค. ํ์ํ ๋ฌผ๊ฑด์ ์ ๋ถ ์ฑ๊ธด ๊ฒ ๊ฐ์๊ณ ์ธ์ถ ํ ๋์์ค๋ ๊ธธ์ ๊ฒฝ์ฌ์จ๋ ์ธ์ณค๋ค. "์ ๋ง๋ค ์ฐ์ฐ!!!" ๊ฒฝ์ฌ ์จ๋ ๋งค๋ฒ ์ธ์ถ www.acmicpc.net 2์ฐจ์ ๋งต์์, ์ถ๋ฐ์์ ๋์ฐฉ์ ์ผ๋ก ๊ฐ๋๋ฐ, X๋ก ํ์๋ ํ์ํ ๋ฌผ๊ฑด๋ค์ ๋ชจ๋ ์ฑ๊ฒจ์ ๋๊ฐ๋ ์ต์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ํ์ด ๊ทธ๋ํ์์์ ์ต์ ์ด๋ ํ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ BFS๋ฅผ ์ด์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ํ์์ X๊ฐ ์๋ ์ง์ ์ ๋ชจ๋ ๋ฐฉ๋ฌธํ๋๊ฒ ์กฐ๊ฑด์ด๊ธฐ ๋๋ฌธ์ X๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ, X๊ฐ ์ต๋ 5๊ฐ๋ผ๊ณ ํด์ ๊ธธ์ด 5์ง๋ฆฌ ๋นํธ๋ง์คํฌ๋ฅผ ์ด์ฉํด์ ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ ํด์ฃผ..
๋ฌธ์ 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๋ง ์ดํ์ด๋ค. ํ์ด ์ซ์๋ฅผ ์์๋๋ก ์ ๋ ฅ๋ฐ์..
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ ๋, ์๋ cin/cout์ ์ด์ฉํ์๋๋ฐ ๋ฐฑ์ค์์ ๋์ด๋๊ฐ ๊ณจ๋ ์ด์์ธ ๋ฌธ์ ์ค์ ๊ฐํน cin/cout์ผ๋ก ์ธํด์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๋ค์ด ์์๋ค. cin.tie(NULL) ๊ฐ์ ๋ฌธ๋ฒ์ ์ถ๊ฐํด์ ์ ์ถ๋ ฅ ์๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ๋ ์์์ง๋ง, ๊ทธ๋๋ scanf/printf๊ฐ ์ ์ผ ๋น ๋ฅธ ๊ฒ ๊ฐ์ ์ผ๋ง์ ๋ถํฐ๋ scanf/printf๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์๋ค. ๋ค์ ์ด๊ฑธ ์จ๋ณด๋ cin/cout์ด ์ผ๋ง๋ ํธ๋ฆฌํ๊ณ ์น์ ํ ๋ฌธ๋ฒ์ธ์ง ๊นจ๋ซ๊ฒ ๋์๋ค.. https://www.acmicpc.net/problem/17244 17244๋ฒ: ์๋ง๋ค์ฐ์ฐ ๊ฒฝ์ฌ์จ๋ ์ ๋ ์ฝ์์ ๊ฐ๊ธฐ ์ ์ฑ๊ธฐ์ง ์์ ๋ฌผ๊ฑด๋ค์ด ์๋ ์ง ํ์ธํ๊ณ ์๋ค. ํ์ํ ๋ฌผ๊ฑด์ ์ ๋ถ ์ฑ๊ธด ๊ฒ ๊ฐ์๊ณ ์ธ์ถ ํ ๋์์ค๋ ๊ธธ์ ๊ฒฝ์ฌ์จ๋ ์ธ์ณค๋ค. "์ ..
๋ฌธ์ 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)์ ์ํ์ง ์๋๋ค. ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ฐ๊พธ๊ธฐ..