Tôi có một vài mảng các số (mỗi phần tử của mảng chỉ có thể đưa giá trị 0 hoặc 1) như thế nàyTìm một tập hợp con mà đáp ứng một điều kiện nhất định
v1: 1; 0; 0; 1; 1; v2: 0; 1; 0; 0; 1; v3: 1; 1; 0; 1; 0; v4: 1; 0; 0; 1; 0; v5: 1; 1; 0; 1; 1; v6: 1; 1; 0; 1; 1;
Tôi muốn tìm các tập con như vậy mà, khi mảng được tổng kết, mảng kết quả có các phần tử riêng lẻ là bội số của 2. Ví dụ, v1 + v2 + v3 cho một mảng kết quả là 2, 2, 0, 2, 2. Mảng kết quả có thể có bất kỳ giá trị nào bội số của 2.
Ví dụ khác:
v1: 1, 1, 1, 0, 1, 0 v2: 0, 0, 1, 0, 0, 0 v3: 1, 0, 0, 0, 0, 0 v4: 0, 0, 0, 1, 0, 0 v5: 1, 1, 0, 0, 1, 0 v6: 0, 0, 1, 1, 0, 0 v7: 1, 0, 1, 1, 0, 0
Trong ví dụ này, v1 + v2 + v5 và v3 + v6 + v7 là các câu trả lời phù hợp.
Tôi có giải pháp về sức mạnh vũ phu, nhưng tôi muốn kiểm tra xem có phương pháp hiệu quả hơn hay không. Điều này có tương đương với vấn đề tổng hợp tập hợp con không?
Google: "tập hợp con xor" –
Bạn có thể giải thích: 1.) Các bộ 2.) Bạn có cần mảng tổng kết quả không? –
Số phần tử trong mỗi mảng và số mảng như vậy không xác định khi bắt đầu chương trình. Tôi không thực sự cần mảng tổng hợp. Chỉ là số lượng các mảng. Vì vậy, tôi cần 1, 2, 5 nếu v1 + v2 + v5 là kết quả. – Neo