- ๋ชฉํ -
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.27(์) - 6์ฃผ์ฐจ ๊ฐ์ธ ๋ชฉํ
- ๋ชฉํ - ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ ์ ์ค์ต ๋ฌธ์ ๋ฅผ ํตํด ํ์ตํ๊ณ , ์ด๋ฅผ ์์ฉํ์ฌ ๋ฐฑ์ค ๋ฌธ์ ์ ์ ์ฉํด๋ณธ๋ค. 1. ํผ๋ณด๋์น ํผ๋ณด๋์น ์์ด์ N๋ฒ์งธ ํญ์ ์ถ๋ ฅํ์์ค. [์ ๋ ฅ ๊ฐ] 0 [์ถ๋ ฅ ๊ฐ] 0 [์ ๋ ฅ
codekodo.tistory.com
1. ํผ๋ณด๋์น
์ฌ๊ท๋ก ํ์ด๋ ๋์ง๋ง dp๋ฅผ ํ์ฉํ๋ฉด ๋์ฑ ๋น ๋ฅด๊ฒ ์ ๋ต์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
2. ๊ฐ๋ฐฉ
์ ํ์์ ์ ๋ํด์ผํ๋ค.
ํ์ ๊ฐ๋ฐฉ์ ์ต๋ ๋ฌด๊ฒ์ด๊ณ , ์ด์ ์ฃผ์ด์ง ๋ฌผ๊ฑด์ ๋ฌด๊ฒ์ด๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ ์ต๋ํ์ ๊ฐ์ด์น๋ฅผ ๊ตฌํ๊ณ ํ๋ฅผ ์ฑ์ฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ์ธ ์ ์๋ค.
0 | 1 | 2 | 3 | 4 | 5 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 3 | 3 | 3 | 3 |
3 | 0 | 0 | 3 | 4 | 4 | 7 |
4 | 0 | 0 | 3 | 4 | 4 | 7 |
5 | 0 | 0 | 3 | 4 | 5 | 7 |
์ด๋ฅผ ํ์ฉํ์ฌ ์ ํ์์ ์ ๋ํ๋ฉด ์๋์ ๊ฐ์ ์ ํ์์ ์ ๋ํ ์ ์๋ค.
dp[i][j] = dp[i-1][j] (weight > j)
dp[i][j] = max(dp[i-1][j], value + dp[i-1][j-weight])
3. ์ ์ฌ์
์ด ๋ฌธ์ ์ญ์ ์ ํ์์ ์ ๋ํด์ผํ๋ค.
ํ์ ์ฌ๋ฃ์ ํฌ๊ธฐ, ์ด์ ์๋ฅผ ์ ์๋ ํฌ๊ธฐ์ด๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ ์ต์ํ์ ๋๋ฌดํ ๋ง์ ๊ฐ์๋ฅผ ํ๋ก ๋ํ๋ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ์ธ ์ ์๋ค.
์ด๋ฅผ ํ์ฉํ์ฌ ์ ํ์์ ๋์คํ๋ฉด ์๋์ ๊ฐ์ ์ ํ์์ ์ ๋ํ ์ ์๋ค.
dp[j] = min(dp[j], dp[j-cut[i]] + 1)
4. ๊ฐ๊ตฌ๋ฆฌ ๊ฒ์
๊ฐ์ฅ ์ข์ธก ์ด์ ๊ฒฝ์ฐ(1์ด) ๊ฐ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์์ ์ค๋ฅธ์ชฝ ์ = 1์ด๊ณผ 2์ด
๊ฐ์ฅ ์ฐ์ธก ์ด์ ๊ฒฝ์ฐ(4์ด) ๊ฐ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์์ ์ผ์ชฝ ์ = 3์ด๊ณผ 4์ด
๋๋จธ์ง ์ด์ ๊ฒฝ์ฐ ๊ฐ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ์ = i-1์ด, i์ด, i+1์ด
์ด๋ฅผ ๋์ฐฉํ๋ ์ง์ ์ ์์ ์์ ๋ํ๋ด๋ฉด
๊ฐ์ฅ ์ข์ธก ์ด์ ๊ฒฝ์ฐ(1์ด) ์ฌ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์๋์ ์ค๋ฅธ์ชฝ ์๋ = 1์ด๊ณผ 2์ด
๊ฐ์ฅ ์ฐ์ธก ์ด์ ๊ฒฝ์ฐ(4์ด) ๊ฐ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์๋์ ์ผ์ชฝ ์๋ = 3์ด๊ณผ 4์ด
๋๋จธ์ง ์ด์ ๊ฒฝ์ฐ ๊ฐ ์ ์๋ ๋ฐฉํฅ์ด ๋ฐ๋ก ์๋์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ ์๋ = i-1์ด, i์ด, i+1์ด
์์ ์์ผ๋ก dp๋ฅผ ์ฑ์ฐ๊ณ ์ฒซ๋ฒ์งธ ํ์ ์ ์ฅ๋ ๊ฐ๋ค ์ค์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ถ๋ ฅํ๋ค.
5. ๋ฐฑ์ค
์ด์ ์ ํ์ด๋ดค๋ ๋ฌธ์ ์ฌ์ ์ฝ๊ฒ ํ ์ ์์๋ค.
๋ฌธ์ ํด์ค์ ์ฒจ๋ถํ์๋ค. (codekodo.tistory.com/31)
[๋์ ๊ณํ๋ฒ 1] [C++] 1463๋ฒ. 1๋ก ๋ง๋ค๊ธฐ
www.acmicpc.net/problem/1463 1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ์ ๋ ฅ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10^6๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด..
codekodo.tistory.com
- ๊นํ๋ธ -
github.com/k906506/2020_Winter_Assemble-And-selfcode
k906506/2020_Winter_Assemble-And-selfcode
2020 ๋๊ณ ๋ชจ๊ฐ์ฝ. Contribute to k906506/2020_Winter_Assemble-And-selfcode development by creating an account on GitHub.
github.com
'โน๏ธ ๋ผ์ดํ > 2020 ๊ฒจ์ธ๋ฐฉํ ๋ชจ๊ฐ์ฝ(๊ฐ์ธ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.27(์) - 6์ฃผ์ฐจ ๊ฐ์ธ ๋ชฉํ (0) | 2021.01.27 |
---|---|
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.20(์) - 5์ฃผ์ฐจ ๊ฐ์ธ ๊ฒฐ๊ณผ (0) | 2021.01.22 |
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.20(์) - 5์ฃผ์ฐจ ๊ฐ์ธ ๋ชฉํ (0) | 2021.01.20 |
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.13(์) - 4์ฃผ์ฐจ ๊ฐ์ธ ๊ฒฐ๊ณผ (0) | 2021.01.13 |
[์ฝ๋ ํ๊ตฌ๋ง ํ] 2021.01.13(์) - 4์ฃผ์ฐจ ๊ฐ์ธ ๋ชฉํ (0) | 2021.01.13 |