์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
์์๊ฐ ์ ํด์ ธ์๋ ์์
์ ์ฐจ๋ก๋ก ์ํํด์ผํ ๋ ๊ทธ ์์๋ฅผ ๊ฒฐ์ ํด์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์๋ฅผ ๋ค์ด๋ณด๋ฉด, ์์ ๊ฐ์ ์ปค๋ฆฌํ๋ผ์์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๊ณ ์ ํ๋ฉด ์ ์๊ณผ๋ชฉ๋ค์ ์๊ฐํ ํ์ ๋ค์ด์ผํ๋ค๊ณ ํ์ ๋, ์ด์ฐ์ํ → Cํ๋ก๊ทธ๋๋ฐ → ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ → ์๋ฃ๊ตฌ์กฐ → ์๊ณ ๋ฆฌ์ฆ ์์๋ก ์๊ฐ์ ์ฒญ์ ํ๋ฉด ๋๋ค. ์ด ์ธ์๋ ์ฌ๋ฌ ๊ฐ์ ์์๊ฐ ์กด์ฌํ ์ ์๋ค. ์ ํ ๊ด๊ณ๊ฐ ๋ช
ํํ์ ๋ ์์๋ฅผ ๊ฒฐ์ ํ์ฌ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒ์ด๋ค. ๐น ์์ ์ ๋ ฌ ํน์ง ์ฌ์ดํด์ด ๋ฐ์ํ์ง ์๋ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ์์์ ์ ๋ ฌ ๐ ์ฌ์ดํด์ด ์๋ค๋ฉด ์์ ์ ๋ ฌ ์ํ X (์์์ ์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก) ํ ๋๋ ์คํ ์ฌ์ฉ ์ง์
์ฐจ์ ๊ณ ๋ ค ๐น๏ธ ์๊ณ ๋ฆฌ์ฆ ๊ณผ์ ์ง์
์ฐจ์๋ ์ ์ ์ ๋ค์ด์ค๋ ๊ฐ์ ์์ด๊ณ , ๋นจ๊ฐ์ ์ซ์๋ ์ง์
์ฐจ์๋ฅผ ๋ํ๋ธ ๊ฒ์ด๋ค. ์ง์
์ฐจ์..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ตฌํ & BFS https://www.acmicpc.net/problem/21609 21609๋ฒ: ์์ด ์คํ๊ต ์์ด ์คํ๊ต์ ์ฝ๋ฉ ๋์๋ฆฌ์์ ๊ฒ์์ ๋ง๋ค์๋ค. ์ด ๊ฒ์์ ํฌ๊ธฐ๊ฐ N×N์ธ ๊ฒฉ์์์ ์งํ๋๊ณ , ์ด๊ธฐ์ ๊ฒฉ์์ ๋ชจ๋ ์นธ์๋ ๋ธ๋ก์ด ํ๋์ฉ ๋ค์ด์๊ณ , ๋ธ๋ก์ ๊ฒ์์ ๋ธ๋ก, ๋ฌด์ง๊ฐ ๋ธ๋ก, ์ผ๋ฐ ๋ธ๋ก www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๊ทธ๋ฃน์ ์ํ๋ ๋ธ๋ก์ ์กฐ๊ฑด ์ผ๋ฐ ๋ธ๋ก์ด ์ ์ด๋ ํ๋ ์ด์ ์ผ๋ฐ ๋ธ๋ก์ ์์ ๋ชจ๋ ๊ฐ์์ผํจ ๊ฒ์์ ๋ธ๋ก ํฌํจ X ๋ฌด์ง๊ฐ์ ๋ธ๋ก์ ๋ช๊ฐ๋ ์๊ด X ๋ธ๋ก์ ๊ฐ์๋ 2๊ฐ ์ด์ ๋ธ๋ก ๊ทธ๋ฃน์ ๊ธฐ์ค ๋ธ๋ก = ๋ฌด์ง๊ฐ ๋ธ๋ก์ด ์๋ ๋ธ๋ก ์ค์์ ํ์ ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ๋ธ๋ก. ๊ทธ๋ฌํ ๋ธ๋ก์ด ์ฌ๋ฌ ๊ฐ์ด๋ฉด ์ด์ ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ๋ธ๋ก .. ์คํ ํ๋ ์ด ๊ธฐ๋ฅ โ ๋ธ๋ก ๊ทธ๋ฃน์ด ์์ ๋..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
2์ฐจ์ ๋ฐฐ์ด์์ ๋ฌํฝ์ด๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค. ๐ ์์ํ๋ ๊ณณ์์ ์ํ์ข์ฐ ๋ฐฉํฅ (๋ฐ์๊ณ ๋๋ ์๊ณ๋ฐฉํฅ)์ ๋ฐ๋ผ ๋ฌํฝ์ด ๋ฐฐ์ด์ ํํ๊ฐ ๋ฌ๋ผ์ง๋ค. ๋ฐฐ์ด ์ค์ (N/2, N/2) ์์๋ถํฐ ์์ ์ค์(N/2, N/2)์์๋ถํฐ ์์ํด์ผํ๋ฏ๋ก N์ด ํ์์ด์ด์ผ ํ๋ค. ←, ↓์ผ ๋๋ 1, 3, 5, 7 .... ๋งํผ ์ด๋ํ๋ ์นธ์ด ์ฆ๊ฐํ๋ค. →, ↑์ผ ๋๋ 2, 4, 6, 8 .... ๋งํผ ์ด๋ํ๋ ์นธ์ด ์ฆ๊ฐํ๋ค. 2๋ฒ ๋ฐฉํฅ์ ๋ฐ๊ฟ ๋๋ง๋ค ์ด๋ํ๋ ์นธ์ ์ฆ๊ฐ์ํจ๋ค. ๐ moveCnt++ ํ์ฌ๋ ์ค์์์ ์ผ์ชฝ๋ฐฉํฅ์ผ๋ก ์์ํด์ ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๊ณ ์์ง๋ง, ์ผ์ชฝ ์ธ์ ์, ํ, ์ฐ ๋ฐฉํฅ์ผ๋ก ์์ํด์ ๋ฐ์๊ณ ๋๋ ์๊ณ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ ๊ฒ๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ๋ฉด ๋๋ค. ๋ฐฉํฅ์ ๋ ๊ฐ์ฉ ์ง๋ง ์ง์ด์ฃผ๋ฉด ๊ฐ๋ฅ ! impor..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
https://www.acmicpc.net/problem/12865 12865๋ฒ: ํ๋ฒํ ๋ฐฐ๋ญ ์ฒซ ์ค์ ๋ฌผํ์ ์ N(1 ≤ N ≤ 100)๊ณผ ์ค์๊ฐ ๋ฒํธ ์ ์๋ ๋ฌด๊ฒ K(1 ≤ K ≤ 100,000)๊ฐ ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์ ๋ฌด๊ฒ W(1 ≤ W ≤ 100,000)์ ํด๋น ๋ฌผ๊ฑด์ ๊ฐ์น V(0 ≤ V ≤ 1,000) www.acmicpc.net ๐น๏ธ Knapsack ์๊ณ ๋ฆฌ์ฆ ๊ณผ์ DP ๋ฌธ์ ์ค ํ๋๋ก, ๋ฐฐ๋ญ์ ํฌ๊ธฐ k์ n๊ฐ์ ๋ฌผ๊ฑด์ ๋ฌด๊ฒ(w)์ ๊ฐ์น(v)๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ๋ฐฉ์ ๋ฌผ๊ฑด์ k์ ๋์ง ์๋๋ก ๋ฃ๊ณ ์ต๋ ๊ฐ์น์ ํฉ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ex) ๋ฐฐ๋ญ์ ํฌ๊ธฐ๋ k์ด๊ณ , 5๊ฐ์ ๋ฌผ๊ฑด์ ๋ฌด๊ฒ์ ๊ฐ์น๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์ต๋ ๊ฐ์น์ ํฉ์ ๊ตฌํ๊ธฐ ๋ฌผ๊ฑด 1 : w =..
์๊ณ ๋ฆฌ์ฆ/๐๏ธ ์ ๋ฆฌ
LIS(Longest Increasing Subsequence)๋ ์์๊ฐ n๊ฐ์ธ ๋ฐฐ์ด์์ ์ผ๋ถ ์์๋ฅผ ๊ณจ๋ผ๋ด์ด ๋ง๋ ๋ถ๋ถ ์์ด ์ค์์ ๋ชจ๋ ์์๋ค์ด ์ด์ ์์๋ณด๋ค ํฌ๋ค๋ ์กฐ๊ฑด์ ๋ง์กฑํ๊ณ ๊ทธ ๊ธธ์ด๊ฐ ์ต๋์ธ ๋ถ๋ถ ์์ด์ด๋ค. ์์๋ฅผ ๋ค์ด๋ณด์. A = {10, 20, 10, 30, 20, 50}์ธ ์์ด์์ ์์๊ฐ ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ {10, 20}, {20, 30, 50}, {10, 30, 50} ๋ฑ์ด ์๋๋ฐ, ๊ทธ ์ค ๊ธธ์ด๊ฐ ์ต๋์ธ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๊ฐ 4์ธ {10, 20, 30, 50}์ด๋ค. ๋ํ ๋ฌธ์ ๋ ์๋์ ๊ฐ๋ค. https://www.acmicpc.net/problem/11053 11053๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๋ธ๋ฃจํธํฌ์ค โ ์์ ํ์ https://www.acmicpc.net/problem/1018 1018๋ฒ: ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ ์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 8๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ณด๋์ ๊ฐ ํ์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. B๋ ๊ฒ์์์ด๋ฉฐ, W๋ ํฐ์์ด๋ค. www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ์ฃผ์ด์ง ์ฒด์คํ์ 8x8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค์ด์ผ ํ๋ค. ํฐ์๊ณผ ๊ฒ์์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ์์ด์ผ ํ๋ค. (0, 0)์ด ๊ฒ์์์ธ ๊ฒฝ์ฐ์ ํฐ์์ธ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด์ ๊ตฌํ๋ค. ๊ฐ๋ก, ์ธ๋ก ์ธ๋ฑ์ค ๊ฐ์ ํฉ์ด ์ง์, ํ์์ ๋ฐ๋ผ ํฐ์์ธ์ง ๊ฒ์์์ธ์ง ๊ตฌ๋ถํด์ ๊ตฌํ๋ค. ๐น๏ธ ํ์ด ๊ณผ์ 1๏ธโฃ ์ฃผ์ด์ง ์ฒด์คํ์ 8x8 ํฌ๊ธฐ๋ก ๋ค์ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ copy๋ฐฐ์ด์ ..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๋ค์ต์คํธ๋ผ โ ์ต๋จ๊ฒฝ๋ก https://www.acmicpc.net/problem/1504 1504๋ฒ: ํน์ ํ ์ต๋จ ๊ฒฝ๋ก ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N๊ณผ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋์งธ ์ค๋ถํฐ E๊ฐ์ ์ค์ ๊ฑธ์ณ์ ์ธ ๊ฐ์ ์ ์ a, b, c๊ฐ ์ฃผ์ด์ง๋๋ฐ, a๋ฒ ์ ์ ์์ b๋ฒ ์ ์ ๊น์ง ์๋ฐฉํฅ ๊ธธ์ด ์กด www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์ด๋ค. 1๋ฒ ์ ์ ์์ N๋ฒ ์ ์ ์ผ๋ก ์ต๋จ๊ฑฐ๋ฆฌ๋ก ์ด๋ํ๋ค. ์ฃผ์ด์ง ๋ ์ ์ ์ ๋ฐ๋์ ๊ฑฐ์ณ์ผ ํ๋ค. ๋ ์ ์ ์ด v1, v2๋ผ๋ฉด 1 โ v1 โ v2 โ N ๋๋ 1 โ v2 โ v1 โ N ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํ ์ ์๋ค. ๐น๏ธ ํ์ด ๋ฐฉ๋ฒ 1๏ธโฃ ๋
ธ๋์ ๋ํ ์ ๋ณด (์ด๋ํด์ผํ๋ ๋
ธ๋ = v, ํด..
์๊ณ ๋ฆฌ์ฆ/BOJ
โจ ๊ทธ๋ํ ํ์ โจ BFS, ๋ค์ต์คํธ๋ผ โ ์ต๋จ ๊ฒฝ๋ก ์ฐพ๊ธฐ https://www.acmicpc.net/problem/18352 18352๋ฒ: ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N, ๋๋ก์ ๊ฐ์ M, ๊ฑฐ๋ฆฌ ์ ๋ณด K, ์ถ๋ฐ ๋์์ ๋ฒํธ X๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๋ ๊ฐ www.acmicpc.net ๐ ๊ณ ๋ คํด์ผํ ์ ์ถ๋ฐ ๋์์ ๋ํ ์ ๋ณด๊ฐ ์กด์ฌํ๋ค. ์ต๋จ ๊ฑฐ๋ฆฌ์ ๋ํ ์ ๋ณด๊ฐ ์กด์ฌํ๋ค. โ ํด๋นํ๋ ์ต๋จ ๊ฑฐ๋ฆฌ์ธ ๋์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ํ๋์ ๋์์์ ๋ค๋ฅธ ๋ชจ๋ ๋์๊น์ง์ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค. ๋์๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ชจ๋ 1์ด๊ธฐ ๋๋ฌธ..