DP
-
[C++] ๋ฐฑ์ค 1932๋ฒ - ์ ์ ์ผ๊ฐํ (DP) ๋ฌธ์ ํ์ด์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด/๋ฐฑ์ค 2022. 5. 8. 01:30
๋ฐฑ์ค 1932๋ฒ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์ค ๋ค์ด๋ด๋ฏน ํ๋ก๊ทธ๋๋ฐ(dp)์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฌธ์ ์ด๋ค. ๊ท์น(์ ํ์)์ ์ฐพ์ผ๋ฉด ์ฝ๋ ์์ฒด๋ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ๋ ๊ท์น์ ์ฐพ์ง ๋ชปํ๋ฉด ํ์์ด ์ด๋ ค์ด ๋ฌธ์ ์ ํ์ด๋ค. ์ด ๋ฌธ์ ๋ ๊ท์น์ด ๋์ ๋ณด์ฌ์ ์ด๋ป๊ฒ ์ฝ๋๋ก ์ ์ ๋ฆฌํ๋๊ฐ ๊ด๊ฑด์ธ ๋ฌธ์ ๊ฐ๋ค. ๋ฌธ์ ๋งํฌ ์๊ณ ๋ฆฌ์ฆ ์ต๋๊ฐ์ ๊ฒฝ๋ก๋ฅผ ํ์ ํด์ผ ํ๋๋ฐ dfs ๊ฐ์ด ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํ์ํด ๋ฒ๋ฆฌ๋ฉด n์ด ์ต๋ 500๊ฐ๋ผ ํด๋ณด์ง ์์์ง๋ง ๋ถ๋ช ์๊ฐ ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ์, ์์์ ๋ถํฐ ํ๋ฒ์ ๋๋ฉด์ ์ต๋๊ฐ์ ์ฐพ๋ dp๋ฅผ ์ด์ฉํด์ผ๋ ๋ค. dp ์ด์ค๋ฐฐ์ด์ ์ ์ธํด dp[i][j]๋ผ ํ๋ฉด, ์์์ ๋ถํฐ i๋ฒ์งธ ์ธต์ ์ผ์ชฝ๋ถํฐ j๋ฒ์งธ ๊ฐ์ ์ต๋๊ฐ์ ์ ์ฅํ๋ค๊ณ ํ์. ์ง๊ธ๋ถํฐ dp๋ฐฐ์ด์ ๊ฐ๋ค์ ๊ตฌํด๋ณผ ๊ฒ์ด๋ค. ์ฐ์ ์ผ..
-
[C++] ๋ฐฑ์ค 11053 - ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (DP) ๋ฌธ์ ํ์ด์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด/๋ฐฑ์ค 2022. 5. 7. 00:08
๋ฐฑ์ค 11053๋ฒ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์ค ๋ค์ด๋ด๋ฏน ํ๋ก๊ทธ๋๋ฐ(dp)์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฌธ์ ์ด๋ค. ๊ท์น(์ ํ์)์ ์ฐพ์ผ๋ฉด ์ฝ๋ ์์ฒด๋ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ๋ ๊ท์น์ ์ฐพ์ง ๋ชปํ๋ฉด ํ์์ด ์ด๋ ค์ด ๋ฌธ์ ์ ํ์ด๋ค. ์ด ๋ฌธ์ ๋ ํนํ ์ค๋ฒ2์ ๋์ด๋๋ฅผ ๊ฐ๊ณ ์๋ ๋งํผ ์๊ฐ์ ๋ง์ด ํด์ผ์ง๋ง ๊ท์น์ ํ์ ํ ์ ์๋ค. ๋ฌธ์ ๋งํฌ 11053๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (acmicpc.net) ์๊ณ ๋ฆฌ์ฆ ๊ท์น์ ํ์ ํ๊ธฐ ๊น๋ค๋ก์ด ๋ฌธ์ ์ด๋ค. ๋จผ์ , ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ์์ด์ด ๋๊ธฐ ์ํด์๋ ์ฒ์๋ถํฐ ๊ฐ ์์์ ์ต๋ ์ฆ๊ฐ๊ธธ์ด๋ฅผ ์๊ฐํด๋ณผ ํ์๊ฐ ์๋ค. ์๋ฅผ ๋ค์ด, ์์ ์์์ ์ฃผ์ด์ง๋๋ก 10 20 10 30 20 50 ์์ด์์๋, 10 20 ์ ๊ฐ๊ฐ์ ์์ด์ ๊ธธ์ด๋ 1,2 ๊ฐ ๋๋ค. ํ์ง๋ง 3๋ฒ์งธ ..
-
[C++] ๋ฐฑ์ค 1149 - RGB๊ฑฐ๋ฆฌ (DP) ํ์ด์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด/๋ฐฑ์ค 2022. 5. 5. 23:29
๋ฐฑ์ค 1149๋ฒ RGB๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์ค ๋ค์ด๋ด๋ฏน ํ๋ก๊ทธ๋๋ฐ(dp)์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฌธ์ ์ด๋ค. ๊ท์น(์ ํ์)์ ์ฐพ์ผ๋ฉด ์ฝ๋ ์์ฒด๋ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ๋ ๊ท์น์ ์ฐพ์ง ๋ชปํ๋ฉด ํ์์ด ์ด๋ ค์ด ๋ฌธ์ ์ ํ์ด๋ค. ๋ฌธ์ ๋งํฌ 1149๋ฒ: RGB๊ฑฐ๋ฆฌ (acmicpc.net) 1149๋ฒ: RGB๊ฑฐ๋ฆฌ ์ฒซ์งธ ์ค์ ์ง์ ์ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด 1๋ฒ ์ง๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ง์ ์น ํ๋ ๋น์ฉ์ 1,000๋ณด๋ค ์๊ฑฐ๋ www.acmicpc.net ์๊ณ ๋ฆฌ์ฆ cnt [1001][3]๋ผ๋ ์ด์ค ๋ฐฐ์ด์ ์ ์ธํด cnt [n][o]์ n ๋ฒ์งธ ์ง์ ๋นจ๊ฐ์์ผ๋ก ์น ํ ๋ ์ต์๊ฐ, cnt [n][1]์ n ๋ฒ์งธ ์ง์ ์ด๋ก์์ผ๋ก..
-
[C++] ๋ฐฑ์ค 2193 - ์ด์น์ (DP)์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด/๋ฐฑ์ค 2022. 5. 5. 14:18
๋ฐฑ์ค 2193๋ฒ ์ด์น์ ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์ค ๋ค์ด๋ด๋ฏน ํ๋ก๊ทธ๋๋ฐ(dp)์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฌธ์ ์ด๋ค. ๊ท์น(์ ํ์)์ ์ฐพ์ผ๋ฉด ์ฝ๋ ์์ฒด๋ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ๋ ๊ท์น์ ์ฐพ์ง ๋ชปํ๋ฉด ํ์์ด ์ด๋ ค์ด ๋ฌธ์ ์ ํ์ด๋ค. ๋ฌธ์ ๋งํฌ 2193๋ฒ: ์ด์น์ (acmicpc.net) 2193๋ฒ: ์ด์น์ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ฅผ ์ด์ง์๋ผ ํ๋ค. ์ด๋ฌํ ์ด์ง์ ์ค ํน๋ณํ ์ฑ์ง์ ๊ฐ๋ ๊ฒ๋ค์ด ์๋๋ฐ, ์ด๋ค์ ์ด์น์(pinary number)๋ผ ํ๋ค. ์ด์น์๋ ๋ค์์ ์ฑ์ง์ ๋ง์กฑํ๋ค. ์ด์น์๋ 0์ผ๋ก ์์ํ์ง ์ www.acmicpc.net ์๊ณ ๋ฆฌ์ฆ // 1 // 10 // 100 101 // 1000 1010 1001 // 10000 10100 10010 10001 10101 ์ด์น์๋ 0์ผ๋ก ์์ํ์ง ์๊ณ 1์ด ๋ ๋ฒ ์ด..
-
[C++] ๋ฐฑ์ค 11726 - 2xn ํ์ผ๋ง (DP)์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด/๋ฐฑ์ค 2022. 5. 3. 01:29
๋ฐฑ์ค 11726๋ฒ 2xn ํ์ผ๋ง ๋ฌธ์ ๋ ์ฌ๋ฌ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ ์ค ๋ค์ด๋ด๋ฏน ํ๋ก๊ทธ๋๋ฐ(dp)์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฌธ์ ์ด๋ค. ๊ท์น(์ ํ์)์ ์ฐพ์ผ๋ฉด ์ฝ๋ ์์ฒด๋ ๊ตฌํํ๊ธฐ ๊ฐ๋จํ๋ ๊ท์น์ ์ฐพ์ง ๋ชปํ๋ฉด ํ์์ด ์ด๋ ค์ด ๋ฌธ์ ์ ํ์ด๋ค. ๋ฌธ์ ๋งํฌ 11726๋ฒ: 2 ×n ํ์ผ๋ง (acmicpc.net) 11726๋ฒ: 2×n ํ์ผ๋ง 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค. www.acmicpc.net ์๊ณ ๋ฆฌ์ฆ ์ค๋ฒ 3 ๋ฌธ์ ์ธ๋ฐ ์๊ฐ๋ณด๋ค ์ ๋ ์ฌ๋ผ์ ์ด๋ ต๊ฒ ๋๊ปด์ก๋ค. ๊ฒฐ๊ตญ ๋ ธ๊ฐ๋คํ๋ค๊ฐ ๊ท์น์ ์ฐพ์๋ด์๋๋ฐ ๋ง์ง๋ง์ ๊ฐ์ด ๋๋ฌด ์ปค์ง๋ ๊ฑธ ์๊ฐ์ ๋ชปํด, ๋ง์ง๋ง ์ถ๋ ฅ์๋ง 10007๋ก ๋๋์ด์ฃผ์๋ค๊ฐ ํ๋ ธ๋ค...