λ¬Έμ
λ¬Έμ
nκ°μ§ μ’ λ₯μ λμ μ΄ μλ€. μ΄ λμ λ€μ μ λΉν μ¬μ©ν΄μ, κ·Έ κ°μΉμ ν©μ΄ kμμ΄ λλλ‘ νκ³ μΆλ€. κ·Έλ¬λ©΄μ λμ μ κ°μκ° μ΅μκ° λλλ‘ νλ €κ³ νλ€. κ°κ°μ λμ μ λͺ κ°λΌλ μ¬μ©ν μ μλ€.
μ¬μ©ν λμ μ ꡬμ±μ΄ κ°μλ°, μμλ§ λ€λ₯Έ κ²μ κ°μ κ²½μ°μ΄λ€.
μ λ ₯
첫째 μ€μ n, kκ° μ£Όμ΄μ§λ€. (1 β€ n β€ 100, 1 β€ k β€ 10,000) λ€μ nκ°μ μ€μλ κ°κ°μ λμ μ κ°μΉκ° μ£Όμ΄μ§λ€. λμ μ κ°μΉλ 100,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€. κ°μΉκ° κ°μ λμ μ΄ μ¬λ¬ λ² μ£Όμ΄μ§ μλ μλ€.
μΆλ ₯
첫째 μ€μ μ¬μ©ν λμ μ μ΅μ κ°μλ₯Ό μΆλ ₯νλ€. λΆκ°λ₯ν κ²½μ°μλ -1μ μΆλ ₯νλ€.
νμ΄κ³Όμ
1.κ·μΉ
- dpμ΄λ―λ‘ μ νμκ³Ό λ©λͺ¨μ΄μ μ΄μ μ μ΄μ©ν©λλ€.
- λμ μ κ°μΉλ 100,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ λλ€.
- nκ°μ§ μ’ λ₯μ λμ μ μ¬μ©ν΄μ κ·Έ κ°μΉμ ν©μ΄ kκ° λλλ‘ νλ, λμ μ κ°μκ° μ΅μκ° λλλ‘ ν©λλ€.
- λΆκ°λ₯ν κ²½μ° -1μ μΆλ ₯ν©λλ€.
2.μμ
λμ 1(https://it-and-life.tistory.com/144) λ¬Έμ μ μμ©λ²μ μ λλ€.
ν©μ ꡬνλ, λμ μ κ°―μκ° μ΅μμ¬μΌ ν©λλ€.
κ°μΉ(k)λ 4, λμ μ μ’ λ₯(n)λ 1,2,3μΈ κ²½μ°λ₯Ό λ©λͺ¨μ΄μ μ΄μ μΌλ‘ μκ°ν΄λ³΄λ©΄
coin[1]=1 | coin[2]=2 | coin[3]=3 | μ΅μ κ°μ |
|
1 |
1 (1κ°) | 0 | 0 | 1κ°, dp[1]=1 |
2 |
1+1 (2κ°) | 2 (1κ°) | 0 | 1κ°, dp[2]=1 |
3 |
1+1+1 (3κ°) | 2+1 (2κ°) | 3 (1κ°) | 1κ°, dp[3]=1 |
4 |
1+1+1+1 (4κ°) | 2+2 (2κ°) | 3+1 (2κ°) | 2κ°, dp[4]=2 |
λ‘, μ λ΅μ΄ 2κ° λ©λλ€.
dp[0]=0μΌλ‘, λλ¨Έμ§λ μ΅λκ°μΉμΈ 100001λ‘ μ΄κΈ°ν ν΄μ€ λ€,
λΉ¨κ°μνμ iλ‘, 보λΌμμ΄μ jλ‘ μκ°ν΄λ³΄λ©΄ j - i κ° 0 μ΄μμΌκ²½μ°, dp[j]μ dp[j-coin[i]]+1μ€ μμ κ°μ΄ dp[j]μ μ°μ¬μ§μ μ μμμ΅λλ€.
μλ₯Όλ€μ΄,
j : 1, i : 1μΌ κ²½μ°, dp[1]μ 100001, dp[1-coin[1]]+1μ dp[0]+1=1μ΄λ―λ‘ dp[1]=1
j : 2, i : 1μΌ κ²½μ°, dp[2]μ 100001, dp[2-coin[1]]+1μ dp[1]+1=2μ΄λ―λ‘, dp[2]=2,
j : 3, i : 1μΌ κ²½μ°, dp[3]μ 100001, dp[3-coin[1]]+1μ dp[2]+1=3μ΄λ―λ‘ dp[3]=3,
j : 3, i : 2μΌ κ²½μ°, dp[3]μ 3, dp[3-coin[2]]+1μ dp[1]+1=2 μ΄λ―λ‘ dp[3]=2,
j : 3, i : 3μΌ κ²½μ°, dp[3]μ 2, dp[3-coin[3]]+1μ dp[0]+1=1 μ΄λ―λ‘ dp[3]=1
μ μμλ‘ μ§νλλ©° μ λ΅μ΄ λμ€κ² λ©λλ€.
λ°λΌμ μ νμμ (i : 1~n) , (j : coin[i]~k) μΌλ dp[j] = min(dp[j], dp[j-coin[i]]+1) μ΄ λ©λλ€.
3.μ½λ
* dp[k]κ° λΆκ°λ₯ν κ²½μ°μΈμ§λ κΌ μ²΄ν¬ν΄ μ€μΌ ν©λλ€. *
'π€ PS(Problem Solving) > λ°±μ€(BOJ)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/c++] 11066λ² - νμΌ ν©μΉκΈ° (0) | 2019.08.17 |
---|---|
[λ°±μ€/c++] 1520λ² - λ΄λ¦¬λ§ κΈΈ (1) | 2019.08.11 |
[λ°±μ€/c++] 2293λ² - λμ 1 (0) | 2019.08.11 |
[λ°±μ€/c++] 1509λ² - ν°λ¦°λ둬 λΆν (0) | 2019.08.09 |
[λ°±μ€/c++] 10828λ² - μ€ν (0) | 2019.08.06 |