Hướng dẫn giải của Gán Dấu Đạt Tổng Mục Tiêu
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả:
Gọi ~P~ = tập phần tử được gán dấu ~+~, ~Q~ = tập phần tử gán dấu ~-~.
Ta có hệ: $$\text{sum}(P) - \text{sum}(Q) = T$$ $$\text{sum}(P) + \text{sum}(Q) = \text{total}$$
Cộng hai vế: ~2 \cdot \text{sum}(P) = T + \text{total}~, suy ra: $$\text{sum}(P) = \frac{T + \text{total}}{2}$$
Điều kiện: ~T + \text{total}~ phải chẵn và ~0 \le \frac{T+\text{total}}{2} \le \text{total}~.
Bài toán tương đương
Đếm số tập con có tổng bằng ~\text{target} = \frac{T + \text{total}}{2}~.
Áp dụng 0/1 Knapsack đếm cách như Bài 1.
Độ phức tạp
- Thời gian: ~O(N \times \text{target})~
- Bộ nhớ: ~O(\text{target})~
Bình luận