๋ฌธ์ |
์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ์ค์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด, ์์ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ด๊ณ , ํฉ์ 113์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 โค N โค 1,000)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 โค Ai โค 1,000)
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด A์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ํฉ์ ์ถ๋ ฅํ๋ค.
ํ์ด๊ณผ์ |
1.๊ท์น
- DP์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.
- d[n-1] < d[n] ์ด๋ผ๋ฉด d[n]์ ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค.
2.์์
[11053๋ฒ - ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด] ๋ฌธ์ ๋ฅผ ์์ฉํฉ๋๋ค.
A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ ๊ฒฝ์ฐ, A[n]+d[j(j๋ 0๋ถํฐ n๊น์ง์ ๊ฐ)]์ด d[n]๋ณด๋ค ํด ๊ฒฝ์ฐ์๋ง ๋ฉ๋ชจ์ด์ ์ด์ ๋ฐฐ์ด์ ์ ์ฅํด์ฃผ๋ฉด ๋๋ฏ๋ก
์ ํ์์ d[n] = max(d[n], A[n]+d[j(0๋ถํฐ n๊น์ง)]) ์ ๋๋ค.
d[n] = max(d[n], d[n] + d[j(0๋ถํฐ n๊น์ง]) ๊ฐ ๋ต์ด ์๋ ์ด์
d[n]+d[n-1]์ ์ ๋ฐฐ์ด๊ฐ์ ๊ณ์ ๋ํด์ฃผ๋๊ฒ ์๋๋ผ ํฉ์ฐํ ๊ฐ์ ๊ณ์ ๋ํด์ฃผ๋ฏ๋ก
A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ ๊ฒฝ์ฐ์ ์์ด์ ๊ฐ์ฅ ํฐ ํฉ์ 113์ด ์๋ 135๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
n์ด 9์ผ๋ ์์ด์ ํฉ์ (1+3+7+16+33+67+8) ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
3.์ฝ๋
'๐ค PS(Problem Solving) > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11054๋ฒ - ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด (0) | 2019.07.11 |
---|---|
[๋ฐฑ์ค] 11722๋ฒ - ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด (0) | 2019.07.11 |
[๋ฐฑ์ค] 11053๋ฒ - ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2019.07.10 |
[๋ฐฑ์ค] 2156๋ฒ - ํฌ๋์ฃผ ์์ (0) | 2019.07.09 |
[๋ฐฑ์ค] 9456๋ฒ - ์คํฐ์ปค (0) | 2019.07.08 |