किसी सरणी के सन्निहित उप-प्रकारों से संख्याओं की गिनती


12

हम एक सरणी दिया जाता है सभी के साथ एक [ मैं ] > 0a[1n][मैं]>0

अब हमें यह पता लगाने की जरूरत है कि इसके उपग्रहों से कितने अलग-अलग योग बन सकते हैं (जहां एक सबर्रे सरणी की एक सन्निहित सीमा है, अर्थात, , [[ j k ] कुछ j , k , योग का योग है सबर्रे के तत्व)। उदाहरण के लिए, यदि a = [ 1 , 2 , 1 ] , तो उत्तर 4 है: हम 1 , 2 , 3 , 4 बना सकते हैं[जे...]जे,=[1,2,1]1,2,3,4

मुझे पता है कि समय में विभिन्न योगों की संख्या कैसे गिना जाए ।हे(n2)

इसके अलावा, मुझे एहसास हुआ है कि यह शास्त्रीय समस्या के समान है जहां हमें एक स्ट्रिंग के अलग-अलग पदार्थों की संख्या खोजने की आवश्यकता है। मैं एक प्रत्यय सरणी के निर्माण और इसे इसी तरह से ( समय में) हल करने की संभावना के बारे में सोच रहा था । लेकिन मुझे यह पता नहीं चल पाया है कि यहाँ कैसे काम करना है। उदाहरण के लिए, यदि हम a = [ 1 , 2 , 1 ] के लिए प्रत्यय सरणी का उपयोग करते हैं, तो हमें चार स्वीकार्य के बजाय 5 मामले मिलेंगे। क्या प्रत्यय सरणियों का उपयोग करके ऐसा करना संभव है या क्या मैं गलत दिशा में सोच रहा हूं?हे(n)=[1,2,1]

इसके अलावा एक और दिशा है जो मैं सोच रहा हूं। विभाजित और जीतना। जैसे अगर मैं सरणी को हर बार दो भागों में विभाजित करता हूं, जब तक कि यह एक तत्व तक कम न हो जाए। एक एकल तत्व में एक योग हो सकता है। अब अगर हम दो एकल तत्वों को मिलाते हैं, तो इसे दो तरीकों से किया जा सकता है: यदि दोनों एकल श्रेणियों में एक ही तत्व है, तो हमें 2 अलग-अलग रकम मिलती हैं, या यदि दोनों के अलग-अलग तत्व हैं, तो हमें 3 अलग-अलग रकम मिलती हैं। लेकिन मैं इसे सामान्य से अधिक लंबाई के सरणियों के विलय के लिए सामान्यीकृत नहीं कर पा रहा हूं। क्या दो मीटर आकार के सरणियों का विलय करना और में उत्तर प्राप्त करना संभव है ?हे()


हालाँकि मैं तुरंत यह नहीं देखता कि आप इसे अपनी समस्या के समाधान से कैसे प्राप्त कर सकते हैं, अधिकतम सबर्रे समस्या की संरचना आपके द्वारा बताई गई समस्या के समान है और इसमें एक विभाजन और जीतना समाधान है जो में चलता है। n )हे(n एलजी n)
इसहाक क्लेनमैन

मैं निम्नलिखित समस्या के साथ शुरू करने का सुझाव दूंगा: यह तय करना कितना मुश्किल है कि क्या एक ही राशि के साथ दो अंतराल हैं? यह इस समस्या की 3SUM-कठोरता साबित करने के लिए लुभावना है, लेकिन अभी तक मैं नहीं कर पाया हूं।
युवल फिल्मस Yu

जवाबों:


2

आप लगभग निश्चित रूप से की तुलना में बेहतर नहीं मिल सकता सबसे खराब स्थिति के बाद से अलग रकम की संख्या में हो सकता है में Θ ( n 2 )हे(n2)Θ(n2)

उदाहरण पर विचार करें । यहाँ प्रत्येक n ( n + 1 )[1,2,4,8,...,2n] सन्निहित उपग्रहों का एक अलग योग होता है।n(n+1)2


"लगभग निश्चित रूप से" इस तथ्य के कारण है कि समस्या को आउटपुट के रूप में रकम के मूल्यों की आवश्यकता नहीं है। हालांकि, मुझे नहीं लगता कि कम से कम अधिकांश मूल्यों का निर्धारण किए बिना डुप्लिकेट से बचा जा सकता है।


मुझे कोई विशेष कारण नहीं दिख रहा है कि सही उत्तर के साथ आने के दौरान किसी तरह से सभी संभावनाओं पर जाने से बचने का कोई रास्ता नहीं होना चाहिए। गतिशील प्रोग्रामिंग एल्गोरिदम नियमित रूप से ऐसा करते हैं।
युवल फिल्मस Yu
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.