نقل قول نوشته شده توسط accepted مشاهده تاپیک
نه منظورم بعد از سورتش بود. یعنی اردر داینامیکش d+n میشه. اردر کل سوال d+N*lg N میشه
اول order ها رو بر اساس زمان پایان مرتبشون میکنیم و میریزیم تو یه آرایه ای به نام order از خونه صفر تا n-1 . بعد یه آرایه d تایی به نام best دارم که [ best [ i میگه که اگه کلا از زمان صفر تا i مهلت داشته باشیم که اجاره بدیم (یعنی بعد از زمان i دیگه نتونیم اجاره بدیم) بیشترین سودی که میشه کرد چقدره؟
حتما قبول داری که 0 = [ best [ 0. حالا یه شمارنده به نام conter در نظر بگیر که شماره آخرین سفارش رو توش داره. پس اول کار برابر با صفره.
بقیه ش رو هم تو فایل ضمیمه ببین
این مسأله رو توی زمان اجرای (n*lg(n هم میشه حل کرد. به جای اینکه جدول داینامیک رو روی زمان بگیریم روی تعداد بازه ها میگیریم و هربار حساب میکنیم که اگر یک بازه باشد زمان اجرا بهتر میشود یا اگر نباشد. یک هزینه (lg(n برای پر کردن هرکدام از خانه های جدول صرف میشود. البته پیاده سازی اون از راه قبلی یه خورده سخت تره، و اگه قبلی accept شده خوب همون بهتره.