الگوریتم زیر را درنظر بگیرید:
منظور از $A[l\cdots r]$ بازهی $l$ تا $r$ از آرایهی $A$ (شامل خود $l$ و $r$) است؛ برای مثال اگر $A = \langle2, 1, 3, 5, 4\rangle$ باشد $A[2\cdots4] = \langle1, 3, 5\rangle$ میشود. اگر مقادیر $t$ را به صورتی ورودی دهیم که طول آرایهی نهایی بیشینه شود، به ازای چند جایگشت اولیه از اعداد ۱ تا ۸ طول آرایهی نهایی حداقل برابر با ۲ خواهد بود؟
پاسخ
گزینهی ۵ درست است.
میدانیم تنها جایگشتهایی مطلوب نیستند که در پایان الگوریتم فقط یک عدد باقی مانده باشد. اگر تعداد این جایگشتها را به دست آوریم، میتوانیم به کمک اصل متمم به پاسخ نهایی برسیم. برای این کار کافی است جایگاهها را به ۴ دستهی دوتایی تقسیم کنیم و مطمئن شویم هیچکدام از جفتها به صورت صعودی مرتب نشده باشند. سپس دو عدد موجود در هر جفت را انتخاب کرده و با ترتیب نزولی آنها را قرار میدهیم: $$\binom{8}{2}\times \binom{6}{2} \times \binom{4}{2} \times \binom{2}{2} = 2520$$
همچنین تعداد کل جایگشتهای اعداد ۱ تا ۸ برابر با $8! = 40320$ است و در نتیجه پاسخ نهایی مسئله برابر با $40320 - 2520 = 37800$ میشود.