Tôi thực sự không có giải pháp, nhưng đây là một vài ý tưởng được đưa ra.
Nếu bạn nhìn vào kết quả XORing tất cả các số trong chuỗi, điều đó đưa ra giới hạn trên về số lượng bổ sung bạn cần làm. Ví dụ: trong ví dụ , chúng tôi có , vì vậy bạn biết rằng bạn không phải thêm nhiều hơn (vì 8 bit là bộ cao nhất). Phân phối tối đa tám "cái" được phân phối bốn cách, là một tập hợp kết hợp khá nhỏ. Tôi không thể nhớ công thức này vào đêm khuya, nhưng có mộttrong đó ở đâu đó10 ⊕ 4 ⊕ 5 ⊕ 1 = 10 8 n !10,4,5,110⊕4⊕5⊕1=108n!
Để đưa ra tuyên bố đó có căn cứ hơn một chút, hãy xem xét các số nguyên tùy ý sao cho . Các bit cao hơn bit 3 rõ ràng là tất cả hủy bỏ, vì vậy bạn có thể bỏ qua chúng. Đối với bốn bit thấp hơn, chúng XOR thành 8, vì vậy trường hợp xấu nhất có thể xảy ra (về số lượng bạn cần thêm) là nếu và (tất cả các số 0 trừ bit cao nhất) bởi vì bạn sẽ cần thêm +8 vào B để có được tập bit trên cùng. Nếu có bất kỳ một bit nào được đặt trong một trong hai số, bạn cần thêm ít hơn.A ⊕ B = 8 A = 8 B = 0A,BA⊕B=8A=8B=0
Có lẽ bạn có thể bắt đầu từ điều này, và phát triển số tiền tối đa chặt chẽ hơn để thêm.