- ๋นํธ๋งต
- ์ํฐ๋
- LCs
- ๋ค์ต์คํธ๋ผ
- DFS
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์ฌ๊ท
- ์นด์นด์ค ์ฝํ
- go
- ์นด์นด์ค2021
- ๋นํธ๋ง์คํน
- ํ๋ก๊ทธ๋๋จธ์ค
- Python
- ํธ๋ฆฌ
- Union-Find
- ๋ฐฑ์ค
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ์๊ณ ๋ฆฌ์ฆ
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- ์น๋ฆฐ์ด
- C++
- BFS
- js
- DP
- ์ด๋ถํ์
- ํ๋ฆฌ์จ๋ณด๋ฉ
- golang
- ์์ฝ๋
- nestjs
- Today
- Total
๋ชฉ๋กLCs (2)
Hello Ocean! ๐ผ
๋ฌธ์ 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)์ ์ํ์ง ์๋๋ค. ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ฐ๊พธ๊ธฐ..
๋ฌธ์ LCS(Longest Common Subsequence, ์ต์ฅ ๊ณตํต ๋ถ๋ถ ์์ด) ๋ ์์ด์ด ์ฃผ์ด์ก์ ๋, ๋ชจ๋์ ๋ถ๋ถ ์์ด์ด ๋๋ ์์ด ์ค ๊ฐ์ฅ ๊ธด ๊ฒ์ ์ฐพ๋ ๋ฌธ์ . ์๋ฅผ ๋ค์ด, ACAYKP์ CAPCAK์ LCS๋ ACAK๊ฐ ๋๋ค. => ์ฐ์ํ์ง ์์๋ ๋๋ค๋ ๊ฒ์ด ํฌ์ธํธ. ํ์ด 2์ฐจ์ cache๋ฅผ ์ด์ฉํ DP ๋ฐฉ์์ผ๋ก ํ๋ฉด ๋๋ค. ๋ง๋ก ํ์ด ์ด ๊ฒ์ ์ดํดํ๊ธฐ ํ๋๋ฏ๋ก ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด์๋ค. s1 = ACAYKP s2 = CAPCAK ๋ฅผ ์ ๋ ฅํ์ ๋ cache์ ๋ชจ์ต์ด๋ค. cache[i][j]์๋ s1์ i ๋ฒ์งธ์ s2์ j ๋ฒ์งธ๊ฐ ๊ฐ์ ๋ ๊ฐ์ด ์ฑ์์ง๋ค. (๊ฐ์ง ์์ ๊ฒฝ์ฐ์๋ 0์ด ์ฑ์์ง๋ค) ๋์ด ๊ฐ์ ๋, ๊ทธ๋ฅ 1์ ์ฑ์ฐ๋ ๊ฒ์ด ์๋๋ผ ์ง๋ ๊ตฌ์ญ์์ ๊ฐ์ฅ ํฐ ๊ฐ+1์ ์ฑ์ด๋ค. ์ฒซ ๋ฒ์งธ ๊ทธ๋ฆผ์์ ๋นจ..