Đây là một câu trả lời nhiều hơn cho lý do tại sao tính duy nhất của các khoản tiền lại ảnh hưởng đến quy mô đến mức trường hợp $52485332$ trở nên tầm thường (theo cách của nó để mong đợi một bình luận).
Khi tất cả các tổng phải là duy nhất, thì chúng phải dẫn đến các số nguyên khác nhau.
Bởi vì có $500^{1000}$ số tiền có thể, cũng có $500^{1000}$ kết quả số nguyên khác nhau cho điều đó. trường hợp thấp nhất sẽ là tất cả các số nguyên từ $0$ đến $500^{1000}-1$.
Ví dụ,
$S_1 = \{0, 1, 2, ..., 499\}$
$S_2 = \{0, 500, 1000, ..., 249500\}$
$S_3 = \{0, 250000, 500000, ..., 124750000\}$
...
$S_{1000} = \{0, 500^{999}, 2*500^{999}, ..., 499*500^{999}\}$
sẽ là một cách để đảm bảo tính duy nhất của kết quả. Như bạn có thể thấy, Các con số trở nên lớn rất nhanh.
Trong ví dụ cụ thể này, thật dễ dàng để tìm thấy kết quả (chỉ cần luôn chọn số lớn nhất phù hợp từ tập hợp cuối cùng đến tập hợp đầu tiên). Thậm chí hầu hết các số là $S_3$ lớn hơn $52485332$ và do đó có thể bỏ qua.
Bạn có thể muốn các giá trị tương đối ngẫu nhiên trong tập hợp của mình. Trong trường hợp này, phạm vi của các giá trị ít nhất phải lớn hơn một chút.
Tuy nhiên, rất khó có khả năng bất kỳ giá trị nào thấp hơn hoặc bằng $52485332$ (khi bạn thống nhất chọn $500000$ các giá trị trong số $500^{1000}$)
Lập trình động, như @poncho đã đề xuất, thực sự chỉ hoạt động với các số nhỏ và hiệu suất của nó không tốt hơn nhiều so với tìm kiếm toàn diện (sự khác biệt tuyến tính về số lượng tập hợp), bởi vì các tổng phụ, có thể được sử dụng lại là duy nhất, lợi thế của việc không nhìn vào những khả năng khác là không có.
Thời gian chạy phải theo thứ tự như tìm kiếm toàn diện. Chỉ có sự cải thiện là lên tàu khi các giá trị lớn hay nhỏ để đạt được mục tiêu, nhưng đối với các mục tiêu hợp lý thì không có nhiều lợi thế.
Bật có thể dễ dàng giảm bài toán tính tổng tập hợp con hoặc bài toán chiếc ba lô xuống bài toán này bằng cách chỉ sử dụng cùng một tập hợp nhiều lần số bạn muốn tính tổng.Vấn đề với điều này là đây không phải là một con kiến giảm thời gian đa thức, do đó không đủ để chứng minh nếu vấn đề là NP khó.