ein Bereich maximiert [l, r]
(wo l < r
), und eine Reihe k
(wo k <= r - l
), möchte ich einen Satz S
von k
verschiedene Zahlen in [l, r]
auszuwählen, die die Summe von paarweise XORs maximiert. Wenn beispielsweise [l, r] = [2, 10]
und k = 3
und wir S = {4, 5, 6}
wählen, ist die Summe der XORs d(4, 5) + d(4, 6) + d(5, 6) = 1 + 1 + 2 = 4
.Wählen Sie k Zahlen Summe von paarweise xor
Hier ist mein Denken so weit: in [l, r]
, für jedes Bit-Index i
kleiner oder gleich dem Index des höchsten gesetzte Bit in r
, die Anzahl der Elemente in S^S
mit dem i
th Bit gesetzt ist gleich j * (k-j)
, Dabei ist die Anzahl der Elemente in S
mit dem i
Bit gesetzt. Um dies zu optimieren, wollen wir S
so auswählen, dass für jedes Bit i
, S
k/2
Elemente mit dem i
Bit gesetzt werden. Dies ist einfach für k = 2
, aber ich bin auf Verallgemeinerung dieses für k > 2
fest.
Gibt es obere Grenzen für "r-l" und "k"? – dasblinkenlight
Wie berechnen Sie die Hamming-Distanz zwischen zwei Zahlen? – fafl
Benutzen wir 'l
lightlike