โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/10844 10844๋ฒ: ์ฌ์ด ๊ณ๋จ ์ ์ฒซ์งธ ์ค์ ์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฐ์ ๊ท์น์ ์ฐพ์ ํ์๊ฐ ์๋ค. ๊ธธ์ด๊ฐ 1์ธ ๊ณ๋จ์ ์๋ ๋ช ๊ฐ๊ฐ ์์๊น? 1 2 3 4 5 6 7 8 9 ๋ต์ 9๊ฐ ๊ทธ๋ผ ๊ธธ์ด๊ฐ 2์ธ ๊ณ๋จ์ ์๋? 10 12 21 23 32 34 43 45 54 56 65 67 76 78 87 89 98 ๋ต์ 17๊ฐ ๊ท์น์ด ๋ณด์ด๋๊ฐ? ๋ณด์ด์ง ์์๋ ๋๋ค. (๋ณธ์ธ๋ ํธ๋๋ฐ ์ค๋๊ฑธ๋ ธ์ผ๋... ์ด ๋ฌธ์ ๋ง์ด ์ด๋ ค์ ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/1463 1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10^6๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ์ฐ์ ํ๋ ํ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฐ์ ๊ท์น์ ์ฐพ์๋ณด์. ๊ณ์ฐ์์ ๊ฒฝ์ฐ ์ฌ๋ฌ๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ๋์ฌ ์๋ ์๋ค. N ์ฐ์ฐ ํ์ ๊ณ์ฐ์ 1 1 1 2 1 2/2=1 3 1 3/3=1 4 2 (4-1)/3=1 5 3 (5-1)/2/2=1 6 2 6/3/2=1 7 3 (7-1)/3/2=1 8 3 8/2/2/2=1 9 2 9/3/3=1 10 3 (10-1)/3/3=1 ์ด๋ค ๊ท์น์ ์ฐพ์ ์ ์์๊น? ์ฐ์ ์๊ฐ 1์ฉ ์ปค์ง ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/2579 2579๋ฒ: ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ฒ์์ ๊ณ๋จ ์๋ ์์์ ๋ถํฐ ๊ณ๋จ ๊ผญ๋๊ธฐ์ ์์นํ ๋์ฐฉ์ ๊น์ง ๊ฐ๋ ๊ฒ์์ด๋ค. ๊ณผ ๊ฐ์ด ๊ฐ๊ฐ์ ๊ณ๋จ์๋ ์ผ์ ํ ์ ์๊ฐ ์ฐ์ฌ ์๋๋ฐ ๊ณ๋จ์ ๋ฐ์ผ๋ฉด ๊ทธ ๊ณ๋จ์ ์ฐ์ฌ ์๋ ์ www.acmicpc.net ์
๋ ฅ ์
๋ ฅ์ ์ฒซ์งธ ์ค์ ๊ณ๋จ์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ ์ผ ์๋์ ๋์ธ ๊ณ๋จ๋ถํฐ ์์๋๋ก ๊ฐ ๊ณ๋จ์ ์ฐ์ฌ ์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ณ๋จ์ ๊ฐ์๋ 300์ดํ์ ์์ฐ์์ด๊ณ , ๊ณ๋จ์ ์ฐ์ฌ ์๋ ์ ์๋ 10,000์ดํ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ณ๋จ ์ค๋ฅด๊ธฐ ๊ฒ์์์ ์ป์ ์ ์๋ ์ด ์ ์์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ dp ๋ฌธ์ ์ด๋ฏ๋ก ์ ํ์์ ์ฐพ์์ผํ๋ค. ๋์ฐฉ์ง์ ์ ๊ฐ ์ ์๋ ๋ฐฉ๋ฒ์ ์ด๋ป๊ฒ ๋ ๊น? ๋ ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/1932 1932๋ฒ: ์ ์ ์ผ๊ฐํ ์ฒซ์งธ ์ค์ ์ผ๊ฐํ์ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค๋ถํฐ n+1๋ฒ์งธ ์ค๊น์ง ์ ์ ์ผ๊ฐํ์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ์ผ๊ฐํ์ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค๋ถํฐ n+1๋ฒ์งธ ์ค๊น์ง ์ ์ ์ผ๊ฐํ์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ํฉ์ด ์ต๋๊ฐ ๋๋ ๊ฒฝ๋ก์ ์๋ ์์ ํฉ์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ด์ ๋ฌธ์ ์๋ RGB ๊ฑฐ๋ฆฌ ๋ฌธ์ ์ ์ ์ฌํ๋ค. dp๋ฅผ ์ด์ฉํ ๊ฒ์ด๋ฏ๋ก ์ ํ์, ์ฆ ๊ท์น์ ์ฐพ์๋ด์ผ ํ๋ค. ์ฒซ๋ฒ์งธ ํ์ ๋ฌด์กฐ๊ฑด ์๊ธฐ ์์ ์ ํํ๋ฏ๋ก ์ ์ธ ๋๋ฒ์งธ ํ๋ถํฐ๋ i) ๊ฐ์ฅ ์ข์ธก ์์์ ๊ฒฝ์ฐ ์ด์ ํ์ ๊ฐ์ฅ ์ข์ธก ์์ ii) ๊ฐ์ฅ ์ฐ์ธก ์์์ ๊ฒฝ์ฐ ์ด์ ํ์ ๊ฐ์ฅ ์ฐ์ธก ์์๋ฅผ ๋ฌด..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/1149 1149๋ฒ: RGB๊ฑฐ๋ฆฌ ์ฒซ์งธ ์ค์ ์ง์ ์ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด 1๋ฒ ์ง๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ง์ ์น ํ๋ ๋น์ฉ์ 1,000๋ณด๋ค ์๊ฑฐ๋ www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ์ง์ ์ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ์ง์ ๋นจ๊ฐ, ์ด๋ก, ํ๋์ผ๋ก ์น ํ๋ ๋น์ฉ์ด 1๋ฒ ์ง๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ง์ ์น ํ๋ ๋น์ฉ์ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ชจ๋ ์ง์ ์น ํ๋ ๋น์ฉ์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ด ๋ฌธ์ ์ ์๊ฐ ์ ํ์ 0.5์ด๋ก ์งง๋ค. ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ ๋ธ๋ฃจํธ ํฌ์ค์ ๋ฐฉ๋ฒ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/9461 9461๋ฒ: ํ๋๋ฐ ์์ด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๊ฐํ์ด ๋์ ๋ชจ์์ผ๋ก ๋์ฌ์ ธ ์๋ค. ์ฒซ ์ผ๊ฐํ์ ์ ์ผ๊ฐํ์ผ๋ก ๋ณ์ ๊ธธ์ด๋ 1์ด๋ค. ๊ทธ ๋ค์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์ ์ผ๊ฐํ์ ๊ณ์ ์ถ๊ฐํ๋ค. ๋์ ์์ ๊ฐ์ฅ ๊ธด ๋ณ์ www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 100) ์ถ๋ ฅ ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค P(N)์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฒ์ ๋ค์ด๋ณด๋ ์๋ก์ด ์์ด์ด์ง๋ง ๊ทธ ๊ท์น์ ํผ๋ณด๋์น์ ๋น์ทํ๋ค. ํผ๋ณด๋์น์ ์ ํ์์ด f(n) = f(n-1) + f(n-2) ์๋ค๋ฉด N 1 2 3 4 5 6 7 8 9 P(N) 1 1 1 2 2 3 4 5 7 ํ๋๋ฐ์ ์ ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/1904 1904๋ฒ: 01ํ์ผ ์ง์์ด์๊ฒ 2์ง ์์ด์ ๊ฐ๋ฅด์ณ ์ฃผ๊ธฐ ์ํด, ์ง์์ด ์๋ฒ์ง๋ ๊ทธ์๊ฒ ํ์ผ๋ค์ ์ ๋ฌผํด์ฃผ์
จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ๊ฐ์ ํ์ผ๋ค์ 0 ๋๋ 1์ด ์ฐ์ฌ ์๋ ๋ฑ์ฅ์ ํ์ผ๋ค์ด๋ค. ์ด๋ ๋ ์ง๊ถ์ ๋์ฃผ๊ฐ ์ง์์ด www.acmicpc.net ์
๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000,000) ์ถ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์ ์ง์์ด๊ฐ ๋ง๋ค ์ ์๋ ๊ธธ์ด๊ฐ N์ธ ๋ชจ๋ 2์ง ์์ด์ ๊ฐ์๋ฅผ 15746์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ธ๋ป๋ณด๋ฉด ์ด๋ ค์ ๋ณด์ผ ์ ์๋ค. ํ์ง๋ง ํ์ผ์ ๊ฒฝ์ฐ์ ์์๋ ๊ท์น์ด ์๋ค. N 1 2 3 4 5 6 7 2์ง ์์ด์ ๊ฒฝ์ฐ์ ์ 1 2 3 5 8 13 21 ํผ๋ณด๋์น์ ๊ฐ์ ์ ํ์์ ๊ฐ์ง๋ค. f(n) = f(n-..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/9184 9184๋ฒ: ์ ๋๋ ํจ์ ์คํ ์
๋ ฅ์ ์ธ ์ ์ a, b, c๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์
๋ ฅ์ ๋ง์ง๋ง์ -1 -1 -1๋ก ๋ํ๋ด๋ฉฐ, ์ธ ์ ์๊ฐ ๋ชจ๋ -1์ธ ๊ฒฝ์ฐ๋ ์
๋ ฅ์ ๋ง์ง๋ง์ ์ ์ธํ๋ฉด ์๋ค. www.acmicpc.net ์
๋ ฅ ์
๋ ฅ์ ์ธ ์ ์ a, b, c๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์
๋ ฅ์ ๋ง์ง๋ง์ -1 -1 -1๋ก ๋ํ๋ด๋ฉฐ, ์ธ ์ ์๊ฐ ๋ชจ๋ -1์ธ ๊ฒฝ์ฐ๋ ์
๋ ฅ์ ๋ง์ง๋ง์ ์ ์ธํ๋ฉด ์๋ค. ์ถ๋ ฅ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๊ฐ๊ฐ์ a, b, c์ ๋ํด์, w(a, b, c)๋ฅผ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ dp๋ฅผ ํ์ฉํ๋ค. ํด๊ฒฐ ๊ณผ์ [0][0][0] ~ [20][20][20]์ 3์ฐจ์ ๋ฐฐ์ด์ ์์ฑํ๊ณ ๊ฐ ์กฐ๊ฑด๋ณ๋ก ๋๋๋ค. ํน์ ๋ฒ์ ..
โ๏ธ ์ฝํ
์ค๋น/Dynamic Programming
www.acmicpc.net/problem/1003 1003๋ฒ: ํผ๋ณด๋์น ํจ์ ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค 0์ด ์ถ๋ ฅ๋๋ ํ์์ 1์ด ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , N์ด ์ฃผ์ด์ง๋ค. N์ 40๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์ ๋๋ 0์ด๋ค. ์ถ๋ ฅ ๊ฐ ํ
์คํธ ์ผ์ด์ค๋ง๋ค 0์ด ์ถ๋ ฅ๋๋ ํ์์ 1์ด ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ํผ๋ณด๋์น ์ฌ๊ท ํจ์์ ๊ดํ ๋ฌธ์ ๋ค. 0๊ณผ 1์ด ํธ์ถ๋๋ ํ์ ์์ฒด๋ ๊ท์น์ด ์์์ ์ ์ ์๋ค. 0 1 2 3 4 5 6 7 0 1 0 1 1 2 3 5 8 1 0 1 1 2 3 5 8 13 ์์ ๊ฐ์ด ํธ์ถ๋๋ ํ์๋ (n-2) + (n-1..
โ๏ธ ์ฝํ
์ค๋น/Brute Force
www.acmicpc.net/problem/1436 1436๋ฒ: ์ํ๊ฐ๋
์ 666์ ์ข
๋ง์ ๋ํ๋ด๋ ์ซ์๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์, ๋ง์ ๋ธ๋ก๋ฒ์คํฐ ์ํ์์๋ 666์ด ๋ค์ด๊ฐ ์ ๋ชฉ์ ๋ง์ด ์ฌ์ฉํ๋ค. ์ํ๊ฐ๋
์์ ์ธ์์ ์ข
๋ง ์ด๋ผ๋ ์๋ฆฌ์ฆ ์ํ์ ๊ฐ๋
์ด๋ค. ์กฐ์ง ๋ฃจ์นด์ค๋ ์คํ www.acmicpc.net ์
๋ ฅ ์ฒซ์งธ ์ค์ ์ซ์ N์ด ์ฃผ์ด์ง๋ค. N์ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ N๋ฒ์งธ ์ํ์ ์ ๋ชฉ์ ๋ค์ด๊ฐ ์๋ฅผ ์ถ๋ ฅํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ ๋ต๋ฅ 44%์ ์ค๋ฒ5์ ๋ฌธ์ ์ด์ง๋ง ํด๊ฒฐํ๋๋ฐ ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค. ์ ๊ทผ ๋ฐฉ์ ์์ฒด๊ฐ ์๋ชป๋์๊ธฐ ๋๋ฌธ์ด์๋ค. 666 1666 2666 ... 9666 1666666 2666666 ... 9666666 ์ํ ์ ๋ชฉ์ ์์ ๊ฐ์ ์์ผ์ค ์์๋ค. ํ์ง๋ง ๊ทธ๋ ์ง ์์..