- شروع کننده موضوع
- #1
احسان
کاربر فوقفعال
- ارسالها
- 137
- امتیاز
- 19
- نام مرکز سمپاد
- شهید اژهای
- شهر
- اصفهان
- مدال المپیاد
- نقرهی المپیاد کامپیوتر
- دانشگاه
- شریف
- رشته دانشگاه
- مهندسی کامپیوتر
به نظر من لازم نیست همش درباره ی الگوریتم های معروف حرف بزنیم! من یه سری سوال الگوریتمی می ذارم! (امیدوارم بقیه هم استقبال کنن و اگه سوال قشنگی دارن بذارن!)
n نقطه روی صفحه داریم که باید با دایره هایی به شعاع r پوشونده بشن. (هر نقطه که درون یا روی یک دایره قرار بگیره پوشونده شده!) احسان(!!) تونسته بفهمه که کمترین تعداد دایره ی لازم k هست. ولی چون الگوریتمی برای پوشوندن نقاط با k دایره سراغ نداره یه الگوریتم حریصانه اجرا می کنه! یعنی هربار یک دایره رو به گونه ای روی صفحه قرار می ده که بیش ترین تعداد نقطه (از بین نقاط پوشونده نشده) رو بپوشونه! ثابت کنید الگوریتم احسان حد اکثر k * [logn] + 1 دایره استفاده می کنه!
این سوال یه کمی سخته! خودم به مرور چند تا لم می ذارم که با اونا سوال راحت حل می شه! (در واقع این لم ها به عنوان راهنمایی توی متن سوال بوده!!) لطفاً هر کس روی سوال فکر کرد نتایجشو بگه!
n نقطه روی صفحه داریم که باید با دایره هایی به شعاع r پوشونده بشن. (هر نقطه که درون یا روی یک دایره قرار بگیره پوشونده شده!) احسان(!!) تونسته بفهمه که کمترین تعداد دایره ی لازم k هست. ولی چون الگوریتمی برای پوشوندن نقاط با k دایره سراغ نداره یه الگوریتم حریصانه اجرا می کنه! یعنی هربار یک دایره رو به گونه ای روی صفحه قرار می ده که بیش ترین تعداد نقطه (از بین نقاط پوشونده نشده) رو بپوشونه! ثابت کنید الگوریتم احسان حد اکثر k * [logn] + 1 دایره استفاده می کنه!
این سوال یه کمی سخته! خودم به مرور چند تا لم می ذارم که با اونا سوال راحت حل می شه! (در واقع این لم ها به عنوان راهنمایی توی متن سوال بوده!!) لطفاً هر کس روی سوال فکر کرد نتایجشو بگه!