목록중간에서 만나기 (2)
레야몬
[C++] 1450번 냅색문제 - 이분 탐색, 중간에서 만나기
1. 문제 N개의 물건과, 최대 C만큼의 무게를 넣을 수 있는 가방을 하나 가지고 있다. N개의 물건을 가방에 넣는 방법의 수를 구하는 프로그램을 작성하시오. - 1 - \(N, C(1 \leq N \leq 30, 0 \leq C \leq 10^{9}\) - 2 - \(w(1 \leq w \leq 10^{9})\) 가방에 넣는 방법의 수 2. 재정의 C이하의 부분 수열의 합의 개수 3. 해결방법 수열의 반으로 쪼갠 후 부분 수열의 합을 모두 구한다. 그리고 이를 v1, v2에 저장한다 v2를 탐색하면서 C - v2의 값보다 작거나 같은 v1의 원소의 수만큼 cnt를 더하고 이를 출력한다. 4. 실수한 점, 개선할 점 \(10^{9} \times 30\)은 int형 범위를 넘어갈 수 있다. lower_bo..
알고리즘/백준
2022. 12. 8. 21:37