विवरण
यदि अंक का एक सेट (उनके सूचकांकों के साथ) डिग्री के एक बहुपद पर गिरता है , तो पूर्णांकों के क्रमबद्धता को न्यूनतम प्रक्षेप{1, 2, ..., n} कहा जा सकता है । अर्थात्,k+2k
- कोई दो बिंदु एक क्षैतिज रेखा पर नहीं आते हैं (0-डिग्री बहुपद)
- कोई तीन बिंदु एक रेखा पर नहीं आते हैं (1-डिग्री बहुपद)
- कोई चार अंक एक परबोला (2-डिग्री बहुपद) पर नहीं आते हैं
- Et cetera।
चुनौती
एक कार्यक्रम लिखें जो OEIS अनुक्रम A301802 (n) की गणना करता है , जितना संभव हो उतना बड़े के {1, 2, ..., n}लिए न्यूनतम प्रक्षेपनीय क्रमपरिवर्तन की संख्या n।
स्कोरिंग
बढ़ते हुए इनपुट्स के साथ मैं आपके कंप्यूटर (2.3 GHz Intel Core i5, 8 GB RAM) पर आपके कोड को समय दूंगा। आपका स्कोर सबसे बड़ा इनपुट होगा जो सही मूल्य को आउटपुट करने में 1 मिनट से कम समय लेता है।
उदाहरण
उदाहरण के लिए, क्रमपरिवर्तन [1, 2, 4, 3]न्यूनतम रूप से प्रक्षेप्य है क्योंकि
the terms together with their indices
[(1, 1), (2, 2), (3, 4), (4, 3)]
have the property that
(0) No two points have the same y-value.
(1) No three points lie on a line.
(2) No four points lie on a parabola.
दृष्टांत में, आप देख सकते हैं कि क्षैतिज रेखाएँ (लाल) उन पर एक बिंदु पर होती हैं, उन पर रेखाएँ (नीला) अधिकतम दो बिंदुओं पर होती हैं, और परवल (हरा) उन पर तीन बिंदु होते हैं।
डेटा
यहाँ न्यूनतम interpolable क्रमपरिवर्तन हैं के लिए n=3, n=4और n=5:
n = 3: [1,3,2],[2,1,3],[2,3,1],[3,1,2]
n = 4: [1,2,4,3],[1,3,2,4],[1,3,4,2],[1,4,2,3],[2,1,3,4],[2,1,4,3],[2,3,1,4],[2,4,1,3],[2,4,3,1],[3,1,2,4],[3,1,4,2],[3,2,4,1],[3,4,1,2],[3,4,2,1],[4,1,3,2],[4,2,1,3],[4,2,3,1],[4,3,1,2]
n = 5: [1,2,5,3,4],[1,3,2,5,4],[1,3,4,2,5],[1,4,2,3,5],[1,4,3,5,2],[1,4,5,2,3],[1,4,5,3,2],[1,5,3,2,4],[2,1,4,3,5],[2,3,1,4,5],[2,3,5,1,4],[2,3,5,4,1],[2,4,1,5,3],[2,4,3,1,5],[2,4,5,1,3],[2,5,1,3,4],[2,5,1,4,3],[2,5,3,4,1],[2,5,4,1,3],[3,1,4,5,2],[3,1,5,2,4],[3,1,5,4,2],[3,2,5,1,4],[3,2,5,4,1],[3,4,1,2,5],[3,4,1,5,2],[3,5,1,2,4],[3,5,1,4,2],[3,5,2,1,4],[4,1,2,5,3],[4,1,3,2,5],[4,1,5,2,3],[4,1,5,3,2],[4,2,1,5,3],[4,2,3,5,1],[4,2,5,1,3],[4,3,1,2,5],[4,3,1,5,2],[4,3,5,2,1],[4,5,2,3,1],[5,1,3,4,2],[5,2,1,3,4],[5,2,1,4,3],[5,2,3,1,4],[5,2,4,3,1],[5,3,2,4,1],[5,3,4,1,2],[5,4,1,3,2]
यदि मेरा प्रोग्राम सही है, तो पहले कुछ मानों की a(n)संख्या, न्यूनतम अंतर-योग्य परमीशन की संख्या {1, 2, ..., n}:
a(1) = 1
a(2) = 2
a(3) = 4
a(4) = 18
a(5) = 48
a(6) = 216
a(7) = 584
a(8) = 2870