Processing math: 100%

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۲۵:عملی نهایی سوم:سوال ۲

SEQUENCE

دنباله‌ی اعداد a1,a2,,an را در نظر بگیرید. این دنباله q بار تغییر می‌کند. هر تغییر را می‌توان به صورت (p,x) نمایش داد به این معنا که عضو p ام دنباله بعد از تغییر برابر با x می‌شود. حال شما باید برنامه‌ای بنویسید که بعد از هر تغییر کمترین عدد صحیح و نامنفی t را پیدا کند به طوری‌که دنباله‌ی a1t,a2t,,ant دارای کمترین تعداد نابه‌جایی باشد. برنامه‌ی شما باید این مقدار t و تعداد نابجایی‌ها، در دنباله‌ی تولید شده توسط آن را، در خروجی چاپ کند.

علامت نشان‌دهنده‌ی عملگر xorاست. در یک دنباله‌ی دلخواه از اعداد مانند c1,c2,,cn جفت (i,j) یک نابجایی است اگر و فقط اگر i<j و ci>cj باشد.

ورودی

در سطر اول ورودی دو عدد طبیعی n، طول دنباله‌ی ورودی، و q، تعداد تغییر‌های دنباله، آمده است.

سطر دوم شامل n عدد صحیح a1,a2,,an است.

در هر یک از q سطر بعدی به ترتیب دو عدد صحیح p و x آمده است که به معنای تغییر عضو p ام دنباله به x است.

خروجی

خروجی شامل q سطر است که در i امین (1iq) سطر از آن، پاسخ مسئله بعد از i‌ تغییر اول آمده است.

زیرمسئله‌ها

  • زیرمسئله اول (۱۳ نمره): n,q1000
  • زیرمسئله دوم (۱۹ نمره): q=1
  • زیرمسئله سوم (۴۹ نمره): n,q104
  • زیرمسئله چهارم (۱۹ نمره): بدون محدودیت اضافی

محدودیت‌ها

  • 1n,q5×104
  • 0ai,x<230
  • 1pn

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
4 3
0 1 0 0
1 1
3 1
1 0
1 0
1 0
0 2
8 1
9 1 8 3 4 7 9 3
3 0
9 7

شرح ورودی و خروجی نمونه

در ورودی نمونه‌ی اول، وضعیت دنباله بعد از هر تغییر به صورت زیر بررسی شده است:

  • بعد از تغییر اول: در این صورت دنباله‌ی اولیه به 1,1,0,0 تبدیل می‌شود. در این حالت در صورتی که به جای t، عدد 1 قرار دهیم، به دنباله‌ی 0,0,1,1 می‌رسیم که تعداد نابجایی‌های آن صفر است. در صورتی که t برابر با 0 باشد، دنباله تغییر نمی‌کند و دارای چهار نابجایی است، بنابراین t=1 بهتر است. با توجه به این‌که به ازای t=1 تعداد نابجایی‌ها صفر است، بنابراین به ازای t‌های بزرگ‌تر تعداد نابجایی‌ها کم‌تر نیست. پس پاسخ همان t=1 است.
  • یعد از تغییر دوم: در این صورت به دنباله‌ی 1,1,1,0 می‌رسیم. در این حالت در صورتی که به جای t، عدد 1 قرار دهیم، به دنباله‌ی 0,0,0,1می‌رسیم که تعداد نابجایی‌های ان صفر است. در صورتی که t=0 باشد، دنباله تغییر نمی‌کند و بنابراین تعداد نابجایی‌های آن برابر با 3 است. با استدلالی مشابه حالت قبلی، t=1 پاسخ مورد نظر است.
  • بعد از تغییر سوم: در این صورت به دنباله‌ی 0,1,1,0 می‌رسیم. در صورتی که t=0 باشد، تعداد نابجایی‌ها برابر با 2 است و در صورتی که t=1 باشد نیز تعداد نابجایی‌ها برابر با 2 است. می‌توان ثابت کرد که به ازای t‌های بزرگ‌تر از 1 نیز تعداد نابجایی‌ها کم‌تر از 2‌ نمی‌شود. با توجه به این‌که کوچک‌ترین t در بین‌ آن‌هایی که نابجایی را کمینه می‌کنند باید به عنوان پاسخ در نظر گرفته شود، بنابراین پاسخ مسئله برابر با 0‌ است.

ابزار صفحه