1. 12865번: 평범한 배낭
-문제: https://www.acmicpc.net/problem/12865
12865번: 평범한 배낭
첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)
www.acmicpc.net
어려웠던 문제
-정답 풀이:
- item에는 문제 값 대입(인덱스0에는 물건의 무게가, 인덱스1에는 물건의 가치가 들어있다)
- N[0],K[0]에는 0값을 넣어준다 -> (N+1)x(K+1) 행렬인 dp 생성

- i번째 물건의 무게가 남은 무게보다 작을때 가치값 변경됨
- 당연히 i번째 물건의 무게가 오버되면 가방에 넣을 수 없으므로 이전행값과 동일하게된다(else문)
- 점화식: dp[i][j]=max(dp[i-1][j],dp[i-1][j-item[i][0]]+item[i][1]) -> 점화식 아직 이해 안갔음

2. 11054: 가장 긴 바이토닉 부분 수열
-문제: https://www.acmicpc.net/problem/11054
11054번: 가장 긴 바이토닉 부분 수열
첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000)
www.acmicpc.net
가장 긴 수열 구하는 문제를 알면 풀 수 있는 문제.
-정답풀이:

- 증가하는 수열부분

- 감소하는 수열부분
- 끝부분부터 거꾸로 진행하면 감소하는 부분도 결국 증가하는 부분과 같은 풀이를 가지게 된다


3. 1699: 제곱수의 합
-문제: https://www.acmicpc.net/problem/1699
1699번: 제곱수의 합
어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다
www.acmicpc.net
이것도 어려웠던 문제다
-정답풀이:
- 8번 9번 점화식이 아직 이해가 가지 않는다. 추후로 더 봐야할 것 같다

'백준 > DP' 카테고리의 다른 글
[코딩테스트]#13. 백준 11722번: 가장 긴 감소하는 수열 (0) | 2021.12.24 |
---|---|
[코딩테스트] #12. 백준 11055번: 가장 큰 증가 부분 수열 (0) | 2021.12.24 |
[코딩테스트]#10. 백준 9251번,11057번, 2293번 (0) | 2021.12.20 |
[코딩테스트] #9. 백준 9461번,14051번, 9465번 (0) | 2021.12.18 |
[코딩테스트]#8. 백준 1010번,11052번,1904번 (0) | 2021.12.17 |