Das letzte Mal fand ich interessante Problem, und ich steckte darauf fest.
Finden Sie k-th minimale Summe von jeder möglichen Untermenge
Gegeben sind n Zahlen a [1], ..., a [n] in aufsteigender Reihenfolge und Zahl k (1 < = n, k < = 10^5).
Nehmen wir an, wir sortieren jede mögliche Teilmenge der gegebenen Sequenz nach der Summe.
Wir müssen die Summe der k-ten solchen Untermenge finden.
Zum Beispiel:
n = 4, k = 8
a = {2, 7, 8, 15}
1: {2}, SUM = 2
2: { 7}, sum = 7
3: {8}, sum = 8
4: {2, 7}, sum = 9
5: {2, 8}, sum = 10
6: {7, 8}, Summe = 15
7: {15}, Summe = 15
8: {2, 15}, Summe = 17
...
k = 8, also Antwort = 17 (Teilmenge {2,15}).
Natürlich können wir jede mögliche Teilmenge und ganze Lösung in O (2^n * n) generieren, aber ich suche nach etwas Intelligenterem - linear oder mindestens O (nk).
Nonnegative Zahlen? –
Ja, 1 <= a [i] <= 10^9. –
Wie unterscheiden Sie die Reihenfolge für Mengen, die die gleiche Summe haben? –