पिछली बार मुझे दिलचस्प समस्या मिली, और मैं उस पर फंस गया।
प्रत्येक संभावित सबसेट
एन संख्याओं को एक [1], ..., एक [एन] आरोही क्रम में और संख्या के (1 < = एन, के < = 10^5) दिया गया।
मान लें कि हम योग द्वारा दिए गए अनुक्रम के प्रत्येक संभावित सबसेट को सॉर्ट कर रहे हैं।
हमें इस तरह के सबसेट के के-वें मिलना होगा।
उदाहरण के लिए:
एन = 4 k = 8
एक = {2, 7, 8, 15}
1: {2}, योग = 2
2: { 7}, योग = 7
3: {8}, योग = 8
4: {2, 7}, योग = 9
5: {2, 8}, योग = 10
6: {7, 8}, योग = 15
7: {15}, योग = 15
8: {2, 15}, योग = 17
...
के = 8, तो उत्तर = 17 (सबसेट {2,15})।
बेशक हम ओ (2^एन * एन) में हर संभावित सबसेट और पूरे समाधान चला सकते हैं, लेकिन मैं कुछ और अधिक स्मार्ट-रैखिक, या कम से कम ओ (एनके) खोज रहा हूं।
गैर-संख्यात्मक संख्याएं? –
हाँ, 1 <= a [i] <= 10^9। –
आप एक ही योग के सेट के लिए ऑर्डर को अलग कैसे करते हैं? –