কাপ-স্ট্যাকিং রোবট প্রোগ্রাম করুন


36

আমি নিশ্চিত যে কাপগুলি পিরামিডগুলিতে (এবং অন্যান্য আকার) স্ট্যাক করার আগে সকলেই দেখে ফেলেছে:

           A    
        A A A   
 A     A A A A  
A A A A A A A A

হ্যাঁ, Aঅবশ্যই কাপের প্রতিনিধিত্ব করার জন্য পর্যাপ্ত চরিত্র।

নতুন কাপগুলি জমির উপর, কাঠামোর ডানদিকে বা দুটি সংলগ্ন কাপের শীর্ষে যুক্ত করা যেতে পারে। এখানে আবার উপরের কাঠামোটি দেওয়া হয়েছে, তবে নতুন কাপগুলির জন্য সমস্ত উপলব্ধ স্পটগুলি এটির সাথে চিহ্নিত রয়েছে _:

         _ A         
        A A A        
 A _ _ A A A A       
A A A A A A A A _ _ _

ধরা যাক আমরা এমন একটি রোবট তৈরি করতে চাই যা এই কাপ স্ট্যাকগুলিকে একত্রিত করতে পারে। রোবট এ জাতীয় কাঠামোটি পরিচালনা করার জন্য দুটি সহজ নির্দেশনা বুঝতে পারে:

  • a: বাম থেকে ডান পাঠের ক্রমে প্রথম উপলব্ধ স্পটে একটি নতুন কাপ যুক্ত করুন (যা আপনি কোনও উপলভ্য জায়গা খুঁজে না পাওয়া পর্যন্ত উপরে থেকে নীচে, বাম থেকে ডানে সারিগুলি স্ক্যান করুন) তারপরে কাপটি সেখানে রাখুন)। উপরের উদাহরণটি হয়ে উঠবে:

             A A   
            A A A  
     A     A A A A 
    A A A A A A A A
    
  • r: প্রথম কাপটি বাম থেকে ডান পাঠের ক্রমে সরিয়ে ফেলুন। উপরের উদাহরণটি হয়ে উঠবে:

            A A A  
     A     A A A A 
    A A A A A A A A
    

দেখা যাচ্ছে যে কেবলমাত্র এই দুটি অপারেশন ব্যবহার করে কোনও কাঠামো স্ক্র্যাচ থেকে তৈরি করা যেতে পারে। যেমন

      A
 A   A A
A A A A A

নির্দেশের ক্রম দিয়ে নির্মিত যেতে পারে

aaaaaaaaaaaarrrrraa

উপরের আরও বড় উদাহরণ ব্যবহার করে নির্মিত যেতে পারে

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrraaaaaaarr

এখানে আরও বড় একটি:

    A
   A A                   A
  A A A     A   A       A A
 A A A A   A A A A     A A A A
A A A A A A A A A A   A A A A A

যা দিয়ে নির্মিত যেতে পারে

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrraaaaaaaaaaaaaarrrrrrrrrrraaaaaaaa

দ্রষ্টব্য: যদি স্থলভাগের দাগগুলি অপসারণের নির্দেশ দিয়ে মুক্ত করা হয় তবে সমস্ত বিদ্যমান কাপের ডানদিকে কাপ রাখার আগে সেগুলি পুনরায় ব্যবহার করা হবে । যেমন

aaaarrra

ফলন হবে

A   A

না

    A A

আপনি এক কাপ আধা সীমাহীন সারি শীর্ষে স্থলটিকে ভাবতে পারেন।

চ্যালেঞ্জ

স্ট্যাকড কাপগুলির একটি কাঠামো দেওয়া, এই কাঠামোটি তৈরির নির্দেশিকাগুলি উপস্থাপন করে একটি ক্রম ফিরিয়ে দিন। আপনার প্রাথমিক স্কোরটি নীচে সরবরাহ করা পরীক্ষাগুলির জন্য নির্দেশাবলীর সংখ্যার যোগফল। টাই হওয়ার ক্ষেত্রে (যা সম্ভবত, কারণ আমি নিশ্চিত যে একটি কার্যকর অনুকূল সমাধান সম্ভব), সংক্ষিপ্ততম সমাধানটি জয়লাভ করে।

বিধি সম্পর্কে আরও কিছু বিশদ এখানে:

  • আপনি ধরে নিতে পারেন যে ইনপুটটির নীচের সারিতে কোনও শীর্ষস্থান নেই, সুতরাং একটি কাপের জন্য বাম-সর্বাধিক স্থলটি সর্বদা ব্যবহার করা উচিত।
  • আপনি চলমান স্থানগুলির কোনও যুক্তিসঙ্গত পরিমাণ ধরে নিতে পারেন (কোনও স্থান নয়, একটি স্পেস, একটি আয়তক্ষেত্রকে প্যাড করা, একটি একক চলমান স্থানের সাথে একটি আয়তক্ষেত্রকে প্যাড করা)।
  • আপনি বিকল্পভাবে ইনপুটটি একক পেছনের নতুন লাইনে শেষ হতে পারে বলে আশা করতে পারেন।
  • আপনি Aস্থান এবং স্পেসগুলির পরিবর্তে (স্পেস সম্পর্কে নিয়মগুলি আপনার পছন্দসই অক্ষরে স্থানান্তরিত করুন ) পরিবর্তে যে কোনও দুটি পৃথক মুদ্রণযোগ্য ASCII অক্ষর (0x20 থেকে 0x7E, সমেত) চয়ন করতে পারেন।
  • আপনার আউটপুট থাকা উচিত শুধুমাত্র দুটি স্বতন্ত্র অপারেশন প্রতিনিধিত্বমূলক অক্ষর (আপনি ছাড়া অন্য অক্ষর চয়ন করতে পারেন aএবং r)। আপনি allyচ্ছিকভাবে একটি একক পেছনের নতুন লাইন মুদ্রণ করতে পারেন।
  • আপনার কোডটি অবশ্যই কোনও যুক্তিসঙ্গত ডেস্কটপ পিসিতে এক মিনিটেরও কম সময়ের মধ্যে পরীক্ষার যে কোনও সমস্যা সমাধান করতে সক্ষম হবে (যদি এটি আমার পক্ষে দুই মিনিট সময় নেয় তবে আমি আপনাকে সন্দেহের সুবিধাটি দেব, তবে এটি যদি দশে লাগে তবে আমি জিতেছি 'টি - আমি বিশ্বাস করি যে একটি অনুকূল অ্যালগরিদম সম্ভব যা তাদের কোনওটিকেই এক সেকেন্ডেরও কম সময়ে সমাধান করে))
  • স্বতন্ত্র পরীক্ষার ক্ষেত্রে আপনার কোডটি অবশ্যই অপ্টিমাইজ করা উচিত নয় (যেমন তাদের হার্ডকোড করে)। আমি যদি কারও এমনটি করতে সন্দেহ করি তবে আমি পরীক্ষার কেসগুলি পরিবর্তনের অধিকার সংরক্ষণ করি।

বিপরীত ক্রিয়াকলাপের জন্য আপনি এই সিজে্যাম স্ক্রিপ্টটি ব্যবহার করতে পারেন : এটি বিল্ডিং নির্দেশাবলীর একটি স্ট্রিং নেবে এবং ফলস্বরূপ কাপের স্ট্যাকটি মুদ্রণ করবে। (স্নিপেটটি পুনরায় লেখার জন্য এবং এটির তাত্পর্যপূর্ণভাবে গতি বাড়ানোর জন্য ডেনিসকে ধন্যবাদ))

এসপি 3000 একই উদ্দেশ্যে এই বিকল্প পাইথন স্ক্রিপ্টটি দয়া করে সরবরাহ করেছিলেন।

পরীক্ষার মামলা

প্রতিটি পরীক্ষার কেসের পরে, এল এর উত্তর অনুসারে নির্দেশের অনুকূল সংখ্যা নির্দেশ করে এমন একটি সংখ্যা রয়েছে।

                                       A
                                      A A
                                     A A A
                                    A A A A
                                   A A A A A
                                  A A A A A A
                                 A A A A A A A
                                A A A A A A A A
                               A A A A A A A A A
                              A A A A A A A A A A
                             A A A A A A A A A A A
                            A A A A A A A A A A A A
                           A A A A A A A A A A A A A
                          A A A A A A A A A A A A A A
                         A A A A A A A A A A A A A A A
                        A A A A A A A A A A A A A A A A
                       A A A A A A A A A A A A A A A A A
                      A A A A A A A A A A A A A A A A A A
                     A A A A A A A A A A A A A A A A A A A
                    A A A A A A A A A A A A A A A A A A A A
                   A A A A A A A A A A A A A A A A A A A A A
                  A A A A A A A A A A A A A A A A A A A A A A
                 A A A A A A A A A A A A A A A A A A A A A A A
                A A A A A A A A A A A A A A A A A A A A A A A A
               A A A A A A A A A A A A A A A A A A A A A A A A A
              A A A A A A A A A A A A A A A A A A A A A A A A A A
             A A A A A A A A A A A A A A A A A A A A A A A A A A A
            A A A A A A A A A A A A A A A A A A A A A A A A A A A A
           A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
          A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
         A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
        A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
       A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
      A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
     A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
   A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
  A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

820
                                             A
                                            A A
                                           A A A
                                          A A A A
                                         A A A A A
                                        A A A A A A
                                       A A A A A A A
                                      A A A A A A A A
                     A               A A A A A A A A A
                    A A             A A A A A A A A A A
                   A A A           A A A A A A A A A A A
                  A A A A         A A A A A A A A A A A A
         A       A A A A A       A A A A A A A A A A A A A
        A A     A A A A A A     A A A A A A A A A A A A A A
   A   A A A   A A A A A A A   A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

1946

               A
              A A
             A A A
            A A A A
           A A A A A
          A A A A A A
         A A A A A A A
        A A A A A A A A
       A A A A A A A A A               A
      A A A A A A A A A A             A A
     A A A A A A A A A A A           A A A
    A A A A A A A A A A A A         A A A A
   A A A A A A A A A A A A A       A A A A A       A
  A A A A A A A A A A A A A A     A A A A A A     A A
 A A A A A A A A A A A A A A A   A A A A A A A   A A A   A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

2252

                                                         A A
                                                      A A A A
                                                   A A A A A A
                                                A A A A A A A A
                                             A A A A A A A A A A
                                          A A A A A A A A A A A A
                                       A A A A A A A A A A A A A A
                                    A A A A A A A A A A A A A A A A
                                 A A A A A A A A A A A A A A A A A A
                              A A A A A A A A A A A A A A A A A A A A
                           A A A A A A A A A A A A A A A A A A A A A A
                        A A A A A A A A A A A A A A A A A A A A A A A A
                     A A A A A A A A A A A A A A A A A A A A A A A A A A
                  A A A A A A A A A A A A A A A A A A A A A A A A A A A A
               A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
            A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
         A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
      A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
   A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

9958

                   A A
                  A A A A
                 A A A A A A
                A A A A A A A A
               A A A A A A A A A A
              A A A A A A A A A A A A
             A A A A A A A A A A A A A A
            A A A A A A A A A A A A A A A A
           A A A A A A A A A A A A A A A A A A
          A A A A A A A A A A A A A A A A A A A A
         A A A A A A A A A A A A A A A A A A A A A A
        A A A A A A A A A A A A A A A A A A A A A A A A
       A A A A A A A A A A A A A A A A A A A A A A A A A A
      A A A A A A A A A A A A A A A A A A A A A A A A A A A A
     A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
   A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
  A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

5540

A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A

10280

 A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A   A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

10320

   A       A       A       A       A       A       A       A       A       A
  A A     A A     A A     A A     A A     A A     A A     A A     A A     A A
 A A A   A A A   A A A   A A A   A A A   A A A   A A A   A A A   A A A   A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

5794

              A
             A A
            A A A
           A A A A                                               A
          A A A A A                                             A A
         A A A A A A A                                         A A A
        A A A A A A A A               A                       A A A A
       A A A A A A A A A             A A             A       A A A A A   A
      A A A A A A A A A A           A A A           A A     A A A A A A A A
     A A A A A A A A A A A         A A A A         A A A   A A A A A A A A A
    A A A A A A A A A A A A       A A A A A       A A A A A A A A A A A A A A
 A A A A A A A A A A A A A A     A A A A A A     A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A   A A A A A A A   A A A A A A A A A A A A A A A A

3297

                                                   A A
                                                  A A A
                                                 A A A A
                                                A A A A A
                                               A A A A A A
                                              A A A A A A A
                                             A A A A A A A A
                                            A A A A A A A A A
                                           A A A A A A A A A A     A
                                          A A A A A A A A A A A   A A
                                       A A A A A A A A A A A A A A A A
                                      A A A A A A A A A A A A A A A A A
                                     A A A A A A A A A A A A A A A A A A
      A                             A A A A A A A A A A A A A A A A A A A
     A A                           A A A A A A A A A A A A A A A A A A A A
    A A A             A A         A A A A A A A A A A A A A A A A A A A A A
   A A A A           A A A       A A A A A A A A A A A A A A A A A A A A A A
  A A A A A         A A A A     A A A A A A A A A A A A A A A A A A A A A A A
 A A A A A A     A A A A A A   A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A   A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A

4081

                      A
                     A A       A                     A
                    A A A     A A                   A A A                 A
             A     A A A A   A A A A               A A A A     A         A A
  A         A A   A A A A A A A A A A         A   A A A A A   A A       A A A
 A A       A A A A A A A A A A A A A A       A A A A A A A A A A A     A A A A
A A A   A A A A A A A A A A A A A A A A     A A A A A A A A A A A A   A A A A A

4475

                                                             A              
      A           A                       A                 A A A   A       A
     A A         A A   A         A A     A A A   A         A A A A A A     A A
A   A A A A A   A A A A A   A   A A A   A A A A A A   A   A A A A A A A   A A A

5752

তার মানে, সর্বোত্তম সম্ভাব্য স্কোর হল 64,515 নির্দেশাবলী।

উত্তর:


32

পাইথন 2, 64,515

import sys

input = map(str.rstrip, sys.stdin.readlines())
width = (len(input[-1]) + 1) / 2
for i in range(len(input)):
    indent = len(input) - i - 1
    input[i] = [c != " " for c in input[i][indent::2]]
    input[i] += [False] * (width - indent - len(input[i]))
input = [[False] * n for n in range(width - len(input) + 1)] + input
working_area = [[False] * n for n in range(width + 1)]

def add():
    sys.stdout.write("a")
    for row in range(width + 1):
        for i in range(row):
            if not working_area[row][i] and (
                row == width or
                (working_area[row + 1][i] and working_area[row + 1][i + 1])
            ):
                working_area[row][i] = True
                return
def remove():
    sys.stdout.write("r")
    for row in range(width + 1):
        if True in working_area[row]:
            working_area[row][working_area[row].index(True)] = False
            return

for row in range(width, -1, -1):
    r = input[row]; R = working_area[row]
    for i in range(len(r) - 1, -1, -1):
        if r[i]:
            while not R[i]: add()
        else:
            while R[i]: remove()

ফলাফল

পরীক্ষা 1 # 1 - 820 # 2 - 1,946 # 3 - 2,252 # 4 - 9,958 # 5 - 5,540 6 নম্বর - 10,280 # 7 - 10,320 # 8 - 5,794 # 9 - 3,297 # 10 - 4,081 # 11 - 4,475 # 12 - 5.752পরীক্ষা 2 পরীক্ষা 3
পরীক্ষা 4 পরীক্ষা 5 পরীক্ষা 6
পরীক্ষা 7 পরীক্ষা 8 পরীক্ষা 9
পরীক্ষা 10 পরীক্ষা 11 পরীক্ষা 12

মোট 64,515

ব্যাখ্যা

আমরা একটি খালি "কার্যকারী অঞ্চল" দিয়ে শুরু করি। আমরা ইনপুটটিকে বিপরীত পঠন ক্রমে, অর্থাৎ ডান থেকে বাম এবং নীচে থেকে শীর্ষে স্ক্যান করি । যদি বর্তমান অবস্থানে ইনপুট এবং কর্মক্ষেত্রের ক্ষেত্রের মধ্যে কোনও মিল নেই (যেমন একটি কাপ ইনপুটটিতে উপস্থিত থাকে তবে কার্যনির্বাহী অঞ্চলে নয়, উল্টো,) আমরা কার্যকরী জায়গায় কাপগুলি যুক্ত করি বা সরিয়ে ফেলি, বিধিগুলিতে, অমিলটি সমাধান না হওয়া অবধি, আমরা পরবর্তী অবস্থানে চলেছি।

শুদ্ধি

এই পদ্ধতিটি সঠিক কিনা তা বোঝাতে, ফলাফলের ক্রমটি ইনপুট কাঠামোটি উত্পন্ন করে, এটি প্রদর্শন করার জন্য যথেষ্ট যে আমরা ইতিমধ্যে যে জায়গাগুলি পরিদর্শন করেছি (আমরা অবশ্যই প্রতিটি জায়গাগুলিতেই পরিবর্তন করি না (অর্থাত্ কাপগুলি যোগ বা অপসারণ করি) , আমরা নিশ্চিত করি যে কর্মক্ষেত্রটি ইনপুটটির সাথে মিলে যায়)) এটি এমন একটি সহজ পরিণতি যা আমরা বিপরীত ক্রমে কাজ করি যেখানে কাপগুলি যোগ করা হয় এবং সরানো হয়:

  • অবস্থানে এক কাপ সবসময় একটি অবস্থান যে সফল এ এক কাপ সামনে সরানো হবে অর্ডার পড়া, এবং সেইজন্য, যে তার আগে বসেছে অর্ডার স্ক্যান এ, অত: পর সেখানে এক কাপ ইতিমধ্যে আমরা দেখেছেন সরানোর কোন বিপদ আছে।
  • একইভাবে, অবস্থানে এক কাপ সবসময় এক কাপ, যাতে স্ক্যান মধ্যে তার আগে বসেছে, আগে যোগ করা হবে যে দেওয়া সেখানে ইতিমধ্যেই আছে নীচের দুই কাপ (অথবা এটি নীচের অংশে এর); তবে, যেহেতু আমরা ইতিমধ্যে এই অবস্থানগুলি পরিদর্শন করেছি এবং তাই প্রয়োজনীয় কাপগুলি যুক্ত করেছি, এবং যেহেতু উপরে উল্লিখিত রয়েছে, পরে সেই কাপগুলি অপসারণের কোনও আশঙ্কা নেই, এই শর্তটি পূরণ করা হয়েছে, এবং তাই এখানে কাপ যুক্ত করার কোনও আশঙ্কা নেই এমন একটি অবস্থান যা আমরা ইতিমধ্যে পরিদর্শন করেছি।

Optimality

নোট করুন যে কোনও কাঠামো থেকে কাপ যোগ করার বা অপসারণের প্রভাব কেবলমাত্র বর্তমান কনফিগারেশনের উপর ভিত্তি করে কাঠামো উত্পন্ন করতে ব্যবহৃত ক্রিয়াকলাপগুলির উপর নির্ভর করে না। ফলস্বরূপ, একটি অনুকূল ক্রম এস এন = { এস 1 , ..., এস এন } দেওয়া হয় যা একটি নির্দিষ্ট কাঠামো উত্পন্ন করে, এস এন এর প্রতিটি প্রাথমিক বিভাগ , অর্থাৎ যে কোনও অনুক্রম এস এম = { এস 1 , .. ।, s m }, যেখানে mn , এটিও একটি অনুকূল ক্রম, এটি কাঠামো তৈরি করে সংশ্লিষ্ট কাঠামোর জন্য, না হলে এস এন এর চেয়ে সংক্ষিপ্ততর অনুক্রম থাকবে, একই কাঠামো উত্পন্ন।

আমরা দেখাতে পারি যে সর্বোত্তম উত্পন্ন সিকোয়েন্সের দৈর্ঘ্যের উপর অন্তর্ভুক্তির মাধ্যমে আমাদের পদ্ধতিটি সর্বোত্তম: পদ্ধতিটি সমস্ত কাঠামোর জন্য অনুকূল সিকোয়েন্স তৈরি করে যার অনুকূল সিকোয়েন্স (বা অনুক্রম) দৈর্ঘ্য n এবং একটি অনুকূল সিকোয়েন্স এস এন +1 দ্বারা উত্পন্ন কাঠামো বিবেচনা করে । আমরা এটি দেখাতে চাই, এস এন +1 দ্বারা ইনপুট হিসাবে উত্পন্ন কাঠামোটি দেওয়া হলে , আমাদের পদ্ধতিটি একই ক্রম তৈরি করে (বা কমপক্ষে একই দৈর্ঘ্যের ক্রম।)

উপরে উল্লিখিত হিসাবে, এস এন এছাড়াও একটি অনুকূল ক্রম, এবং তাই অনুমান দ্বারা, আমাদের পদ্ধতিটি ইনপুট হিসাবে এস এন দ্বারা উত্পাদিত কাঠামোর প্রদত্ত একটি অনুকূল ক্রম তৈরি করে । ধরুন, সাধারনতার ক্ষতি ছাড়াই, এস এন হল আমাদের পদ্ধতি দ্বারা উত্পাদিত ক্রম (যদি তা না হয় তবে আমরা সবসময় এস এন + 1 এর প্রথম এন উপাদানগুলিকে উল্লিখিত অনুক্রমের সাথে প্রতিস্থাপন করতে পারি , এবং দৈর্ঘ্য n + এর ক্রম পেতে পারি) 1 যে একই কাঠামো তৈরি করে।) যাক অবস্থান গত অপারেশন সংশোধন করতে এস এন + 1 (বলতে গেলে, গুলি এন + 1 ), এবং দিনএস এম হ'ল এস এন এর প্রাথমিক বিভাগ , যা আমাদের প্রোগ্রামটি একবার এল পৌঁছে যাওয়ার পরে উত্পাদিত হবে (তবে l প্রসেসিংয়ের আগে )। দ্রষ্টব্য, যেহেতু এস এন এবং এস এন +1 দ্বারা উত্পন্ন কাঠামোগুলি l অনুসরণ করে এমন সমস্ত স্থানে সম্মত হয় , পড়ার ক্রম অনুসারে, এস এম একইভাবে উভয় কাঠামোরই ইনপুট হিসাবে দেয়।

যদি এস এন +1 হয় a(অর্থাত্ কাপ সংযোজন), তবে অবশ্যই পাঠ্যক্রমের আগে l এর আগে কোনও অবস্থান থাকতে হবে না , যেখানে এস এন দ্বারা তৈরি কাঠামোর সাথে একটি কাপ যুক্ত করা যেতে পারে । ফলস্বরূপ, এর subsequence এস এন নিম্নলিখিত এস এম সব হতে হবে a(যেহেতু একটি rসূচিত করা হবে যে হয় সেখানে আগে একটি খালি জায়গা নেই , বা যে এস এন অনুকূল নয়।) আমরা প্রক্রিয়া কাছে আসে তখন , আমাদের প্রয়োজন হবে l এ কাপ যোগ করার আগে ঠিক n - m কাপ যোগ করুন , ফলস্বরূপ অনুক্রমটি এস হবেমি , এর পরে এন - মি + 1aউপাদান রয়েছে, যা এস এন +1 এর সমান(এই বিন্দুটির পরে কোনও মিল নেই) সুতরাং এটি সম্পূর্ণ ক্রম হয়)

একইভাবে, যদি গুলি এন + 1 হয় r, তবে সেখানে নেই একটি অবস্থান পূর্ববর্তী যে কোনো কাপ হওয়া আবশ্যক অর্ডার পড়া, কাঠামো দ্বারা উত্পন্ন মধ্যে, এস এন । ফলস্বরূপ, এস এম এর পরবর্তী এস এন এর পরবর্তী অনুচ্ছেদে সমস্ত হওয়া আবশ্যক r। আমরা প্রক্রিয়া কাছে আসে তখন , আমরা ঠিক সরিয়ে ফেলতে হবে মি - এন আগে আমরা এ কাপ অপসারণ করতে পারেন কাপ , অত ফলে ক্রম হতে হবে এস এম , দ্বারা অনুসরণ N - মি + 1 টি rউপাদান, যা আবার সমান এস এন +1 টি

অন্য কথায়, আমাদের পদ্ধতিটি উল্লিখিত ইনপুট কাঠামোর জন্য সর্বোত্তম ক্রম উত্পাদন করে এবং তাই কোনও ইনপুট কাঠামোর জন্য আনয়ন দ্বারা।

মনে রাখবেন যে এর অর্থ এই নয় যে এই বাস্তবায়নটি সবচেয়ে কার্যকর। এটি স্পষ্টভাবে সম্ভব, উদাহরণস্বরূপ, প্রতিটি পয়েন্টে সরাসরি এই অপারেশনগুলি সম্পাদন করার পরিবর্তে যে পরিমাণ কাপ যোগ করা বা অপসারণ করতে হবে তার সংখ্যা গণনা করা।

অনন্যতা

আমরা আমাদের পদ্ধতির অনুকূলতাকে ব্যবহার করে দেখতে পারি যে সর্বোত্তম ক্রমগুলি প্রকৃতপক্ষে অনন্য (যা কোনও দুটি পৃথক অনুকূল সিকোয়েন্সগুলি একই কাঠামো উত্পন্ন করে না)) আমরা আবারও সর্বোত্তম উত্পন্ন ক্রমের আকারের উপর অন্তর্ভুক্তি ব্যবহার করি: খালি ক্রমটি অবশ্যই খালি কাঠামোর অনন্য অনুকূল উত্পন্ন ক্রম। মনে করুন যে দৈর্ঘ্যের n এর সর্বোত্তম উত্পন্ন সিকোয়েন্সগুলি অনন্য, এবং দুটি কাঠামো এস এন +1 এবং টি এন +1 দ্বারা উত্পন্ন একটি কাঠামো, consider বিবেচনা করুন ।

মনে রাখবেন যে এস এন এবং টি এন নিজেই অনুকূল, এবং তাই অনুমান দ্বারা, অনন্য। যেহেতু আমাদের পদ্ধতিটি সর্বোত্তম ক্রম উত্পাদন করে, এস এন এবং টি এন আমাদের পদ্ধতির দ্বারা উত্পন্ন হিসাবে ভাবা যেতে পারে। আসুন l এস এবং এল টি হ'ল যথাক্রমে এস এন +1 এবং টি এন +1 এর শেষ ক্রিয়াকলাপের দ্বারা সংশোধিত অবস্থানগুলি হয়ে উঠুন এবং ধরুন, সাধারনতা ক্ষতি ছাড়াই সেই এল এস পঠনের ক্রমে l টি অনুসরণ করে বা সমান হয় । যেহেতু এস এন দ্বারা উত্পন্ন কাঠামোএবং টি এন এল এস এর পরে সমস্ত অবস্থানগুলিতে সম্মত হন , পাঠের ক্রমে, আমাদের পদ্ধতি দ্বারা উত্পাদিত ক্রমটি হয় ইনপুট হিসাবে কাঠামোগত দেওয়া হয়, এটি একবার এল এস এ পৌঁছে যায় (তবে এটি প্রক্রিয়া করার আগে) উভয়ের জন্য একই; এই সিকোয়েন্স ইউ কল করুন ।

যেহেতু এস এন +1 এর শেষ ক্রিয়াটি এল এসকে সংশোধন করে , যদি l এল এস- তে একটি কাপ থাকে তবে অবশ্যই এল এস এর আগে কোনও শূন্যস্থান থাকা উচিত নয় , এবং যদি S এল এস- তে একটি কাপ না থাকে তবে অবশ্যই সেখানে থাকা উচিত নয় এল এস এর আগে কাপ , পড়ার ক্রমে। সুতরাং, অনুক্রমের বাকী অংশটি নির্ধারণ করে U , ইউকে অনুসরণ করে অবশ্যই একই নির্দেশের বারবার প্রয়োগ থাকতে হবে যা এল এস এ কাপের উপস্থিতি বা অনুপস্থিতির দ্বারা নির্ধারিত হয়েছে (অন্যথায় এটি অনুকূল হবে না)। অন্য কথায়, এস এন +1 এবং টি এন +1সমান (তারা উভয়ই ইউ দিয়ে শুরু হয় এবং পুনরাবৃত্ত নির্দেশাবলীর উল্লিখিত অনুক্রমের সাথে শেষ হয়), অর্থাৎ Σ এর সর্বোত্তম উত্পন্ন সিকোয়েন্সটি অনন্য এবং তাই প্রবর্তন দ্বারা সমস্ত অনুকূল উত্পন্ন সিকোয়েন্সগুলি অনন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.