मैंने कुछ समय पहले स्टैक ओवरफ्लो पर यह सवाल पूछा है: समस्या: बॉब की बिक्री । किसी ने यहाँ भी प्रश्न पोस्ट करने का सुझाव दिया।
किसी ने पहले से ही इस समस्या से संबंधित एक सवाल पूछा है - दिए गए कार्डिनैलिटी का न्यूनतम वजन - लेकिन जहां तक मैं समझता हूं कि यह मेरी समस्या के साथ मदद नहीं करता है। StackOverflow पर उच्चतम-रेटेड उत्तर भी देखने लायक है।
यहाँ मेरे StackOverflow प्रश्न की शब्दशः प्रतिलिपि है। यह शायद इस साइट के लिए अपर्याप्त रूप से तैयार किया गया है (बिल्ली, मुझे लगता है कि यह सिर्फ यहाँ पूछना अशिक्षित है), इसलिए इसे संपादित करने के लिए स्वतंत्र महसूस करें:
नोट: यह SWF फ़ाइल में रिकॉर्ड के आदेश देने के संबंध में वास्तविक जीवन की समस्या का एक सार है। एक समाधान मुझे एक ओपन-सोर्स एप्लिकेशन को बेहतर बनाने में मदद करेगा।
बॉब का एक स्टोर है, और वह एक बिक्री करना चाहता है। उनके स्टोर में कई उत्पाद हैं, और उनके पास स्टॉक में प्रत्येक उत्पाद की एक निश्चित पूर्णांक मात्रा है। उनके पास पहले से छपी कीमतों के साथ कई शेल-माउंटेड प्राइस लेबल (जितने भी उत्पाद हैं)। वह किसी भी उत्पाद पर कोई भी मूल्य लेबल लगा सकता है (उस उत्पाद के पूरे स्टॉक के लिए एक आइटम के लिए एकात्मक मूल्य), हालांकि कुछ उत्पादों पर एक अतिरिक्त प्रतिबंध है - ऐसा कोई भी उत्पाद एक निश्चित अन्य उत्पाद से सस्ता नहीं हो सकता है।
आपको यह जानना चाहिए कि मूल्य लेबल की व्यवस्था कैसे करें, ताकि बॉब के सभी मालों की कुल लागत यथासंभव कम हो। कुल लागत स्टॉक में उस उत्पाद की मात्रा से गुणा किए गए प्रत्येक उत्पाद के निर्धारित मूल्य लेबल का योग है।
दिया हुआ:
- एन - उत्पादों और मूल्य लेबल की संख्या
- S i , 0 of i <N - इंडेक्स आई (पूर्णांक) के साथ उत्पाद के स्टॉक में मात्रा
- पी जे , 0 label जे <एन - इंडेक्स जे (पूर्णांक) के साथ मूल्य लेबल पर कीमत
- K - अतिरिक्त बाधा जोड़े की संख्या
- एक कश्मीर , बी कश्मीर , 0≤ कश्मीर <कश्मीर - अतिरिक्त बाधा के लिए उत्पाद सूचकांक
- कोई भी उत्पाद सूचकांक बी में एक बार सबसे अधिक दिखाई दे सकता है। इस प्रकार, इस आसन्न सूची द्वारा गठित ग्राफ वास्तव में निर्देशित पेड़ों का एक सेट है।
कार्यक्रम को खोजना होगा:
- M i , 0 index i <N - उत्पाद सूचकांक से मूल्य लेबल सूचकांक तक मैपिंग (P M i उत्पाद की कीमत i है )
शर्तों को पूरा करने के लिए:
- P M A k M P M B k , 0 < k <K के लिए
- <(S i × P M i ) 0 < i <N के लिए न्यूनतम है
ध्यान दें कि यदि पहली स्थिति के लिए नहीं है, तो समाधान केवल कीमत और उत्पादों द्वारा लेबल छँटाई होगी, और सीधे दोनों का मिलान होगा।
इनपुट के लिए विशिष्ट मूल्य N, K <10000 होंगे। वास्तविक जीवन की समस्या में, केवल कई विशिष्ट मूल्य टैग (1,2,3,4) हैं।
यहां सबसे सरल समाधान (टोपोलॉजिकल सॉर्ट सहित) काम नहीं करेगा इसका एक उदाहरण है:
आपके पास 10 आइटम 1 के माध्यम से हैं 10 के माध्यम से, और 10 के साथ 10 मूल्य लेबल 1 के माध्यम से $ 10। एक शर्त है: मात्रा 10 के साथ आइटम 1 आइटम के साथ सस्ता नहीं होना चाहिए।
इष्टतम समाधान है:
Price, $ 1 2 3 4 5 6 7 8 9 10
Qty 9 8 7 6 1 10 5 4 3 2
249 की कुल लागत के साथ। यदि आप 1,10 जोड़ी को या तो चरम के पास रखते हैं, तो कुल लागत अधिक होगी।