Range Updates के लिए Difference Arrays
कई add-on-range operations तेज़ी से लागू करें
Range Updates के लिए Difference Arrays, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
समस्या का उलटा रूप देखें
संचयी योगों ने परास के प्रश्नों का तेज़ी से उत्तर दिया। अंतर सारणी इसी विचार को उलटकर कई परास अपडेट तेज़ी से लागू करती है। 🔁
धीमा तरीका
किसी परास के हर तत्व में कोई मान जोड़ना और इसे कई बार दोहराना, हर अपडेट में O(n) समय लेता है। q अपडेट में यह लागत बहुत बढ़ जाती है।
केवल बदलाव दर्ज करें
हर खाने को छूने के बजाय केवल यह दर्ज करें कि बदलाव कहाँ शुरू होता है और कहाँ समाप्त होता है। बीच के हिस्से के बजाय किनारों को चिह्नित करें।
अंतर सारणी में क्या होता है
एक अंतर सारणी प्रत्येक तत्व और उससे पहले वाले तत्व के बीच का अंतर रखती है। एक अंतर बदलने से उसके बाद का पूरा भाग प्रभावित हो जाता है।
दो चिह्नों की तरकीब
l से r तक v जोड़ने के लिए, सूचकांक l पर v जोड़ें और सूचकांक r + 1 पर v घटाएँ। केवल दो बदलाव पूरे परास को संभाल लेते हैं।
diff[l] += v
diff[r + 1] -= vघटाव क्यों करना है
l पर किया गया जोड़ बदलाव को चालू करता है; r + 1 पर किया गया घटाव उसे फिर बंद कर देता है। दोनों मिलकर अपडेट को एक ही परास तक सीमित रखते हैं।
सभी अपडेट सस्ते में लागू करें
हर अपडेट में केवल दो सारणी-लेखन होते हैं, इसलिए q अपडेट की कुल लागत O(q) होती है। मुख्य काम अंत तक टाल दिया जाता है।
अंतिम सारणी पुनः बनाएँ
सभी चिह्न रखने के बाद अंतर सारणी का संचयी योग निकालें। यह एकल चरण हर अंतिम मान को फिर से बना देता है।
for i in range(1, n):
diff[i] += diff[i - 1]सुरक्षा खाने के साथ आकार तय करें
सारणी को एक खाना अतिरिक्त रखकर बनाएँ, ताकि r + 1 कभी सीमा से बाहर न जाए। यह अतिरिक्त सुरक्षा स्थान सूचकांक-संबंधी त्रुटियों से बचाता है।
कुल लागत
अपडेट चिह्नित करने में O(q) समय और पुनर्निर्माण के लिए एक O(n) चरण लगता है। संयुक्त लागत सीधे O(n गुणा q) करने से बहुत कम होती है।
यह कहाँ लाभ देता है
अंतर सारणियाँ आरक्षण की गिनतियों, सड़क-करों और ऐसे सभी प्रश्नों में उपयोगी हैं जिनमें बहुत से परास-जोड़ संचालन और अंत में एक बार पढ़ना हो।
त्वरित जाँच
आप सूचकांक l से r तक के हर तत्व में v जोड़ते हैं।
पुनरावृत्ति
आप अंतर सारणी से परास अपडेट को एक साथ संभाल सकते हैं: l और r + 1 को चिह्नित करें, फिर पुनर्निर्माण के लिए एक बार संचयी योग निकालें। तेज़ अपडेट, एक बार पढ़ना। ✅
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Range Updates के लिए Difference Arrays” पाठ निःशुल्क है?
हाँ—“Range Updates के लिए Difference Arrays” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Range Updates के लिए Difference Arrays” में मैं क्या सीखूँगा?
कई add-on-range operations तेज़ी से लागू करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“Range Updates के लिए Difference Arrays” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Prefix Sum Array बनाना
- घटाव से किसी भी Range का Sum
- Target Sum वाले Subarrays गिनना
- Range Updates के लिए Difference Arrays