Processing math: 100%

المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۳۰:تئوری نهایی اول:سوال ۳

k تایی‌های خوب

دنباله‌ی a1,a2,,an از اعداد طبیعی مفروض است. به nk طریق می‌توان یک k تایی مرتب از این اعداد تولید کرد. به ازای هر یک از این k تایی‌های مرتب، جمع آن را در دنباله s قرار می‌دهیم (جمع یک k تایی مرتب برابر با مجموع تمامی اعضای آن می‌باشد).
دنباله s که به صورت نانزولی مرتب شده است را s1s2snk در نظر بگیرید. الگوریتمی بیابید که با ورودی گرفتن n ،دنباله‌ی a و عدد m مقدار sm را مشخص کند (k مقداری ثابت است).
اگر الگوریتم شما از O(nk2lg(n)lg(max(ai)) باشد ۱۵ امتیاز، اگر از O(nk2lg2(n)) باشد، ۸۰ امتیاز و اگر از O(nk2lg(n)) باشد ۱۰۰ امتیاز می‌گیرید.

باید ثابت کنید الگوریتم شما درست و از مرتبه مشخص شده است. توجه کنید که حافظه اشغال شده توسط الگوریتم شما از مرتبه پیچیدگی زمانی آن باشد.


ابزار صفحه