Mee in the middle (MITM) 알고리즘
https://www.acmicpc.net/problem/1450 이 문제는 n이 30이고 무게가 10^9이다. 완탐으로 하기에는 담고 안 담고 2^30 -> 10억이라서 너무 큰 수이다. dp로 저장하기에는 상태값이 [30][10^9]라서 값이 너무 크다. 완탐이나 DP도 안될 때즉, n이 너무 클 때 반으로 쪼개서 각각 완탐을 하는 게 meet in the middle 알고리즘이다. 완전 탐색 (Brute-force): O(2ⁿ) → n ≤ 30일 때 너무 큼 ❌ Meet in the Middle: O(n * 2ⁿ/²) → n ≤ 30에서 현실적으로 가능 ✅ 이분탐색을 하는 것도 아니다.각각 완탐을 한 다음에 경우의 수를 더할 뿐이다. 2의 30승인 10억이 넘는데절반으로 나누면 O(2^(n/2))..