لینکهای مفید برای شرکت در مسابقه:
راهحلها و راهنماییهای نهایی اضافه شدند.
این راهنماییها را میتوانید در انتهای سوالات مشاهده کنید.
.
میتوانید سوالات خود را از قسمت "سوال بپرسید" مطرح کنید.
اگر دنبالهای از اعداد داشته باشید به اولین عدد طبیعیای که در آن ظاهر نشده Mex آن دنباله میگوییم.
برای مثال Mex دنباله برابر و Mex دنباله برابر است.
دنباله به شما داده شده است و باید جمع Mex تمام زیربازههای آن را به دست بیاورید. (در مجموع زیربازه داریم.)
در واقع اگر را برابر Mex زیر دنباله تعریف کنیم، شما باید مقدار زیر را چاپ کنید.
در سطر اول ورودی عدد و در سطر دوم عدد به شما داده میشود که عدد -ام برابر عضو ام دنباله است.
در تنها خط خروجی مقدار خواسته شده را نمایش دهید.
توضیح:
و Mex زیربازههایی که ۱ را ندارند برابر ۱ است.
فرض کنید برای هر پیشوند از ارایه Mex را به دست آوردید. حالا عنصر اول را حذف کنید و Mex هر پیشوند را حساب کنید.
بعد از حذف عنصر اول، پیشنودهایی که Mex آن کمتر از بودند تغییری نمیکنند.
بعد از حذف عنصر اول در صورتی که Mex پیشنوندی قرار باشد تغییر کند، مقدار آن برابر میشود.
اگر برابر Mex پیشوندی باشد که به i ختم می شود. میتوانید مشاهده کنید که دنباله زیر صعودی است:
و وقتی عنصر اول را حذف میکنید، اگر دومین تکرار این عنصر در اندیس x باشد. (یعنی ) برای هر مقدار ممکن است عوض شود و بقیه تغییری نمیکنند چون قبلا در خانه اول وجود داشته و تمام پیشوندهایی که از خانه x رد میشودند هنوز را دارند. و از طرفی برای هر کدام از آن iها مقدار مینیمم گرفته میشود با چون ممکن است این عنصر اولین کسی باشد که دیگر در بازه نیست.
پیاده سازی الگوریتم با درخت سگمنت یا BST امکان پذیر است.