پاسخ : اشنایی با المپیاد کامپیوتر
من سوم راهنماییم میخواستم قبل از اینکه وارد دبیرستان شم خودمو با تمام المپیاد ها اشنا کنم و ببینم در کدام المپیاد استعداد بیشتری دارم من تو این بخش تاپیک های مختلفی رو درباره منبع دیدم ولی چیزی درباره اشنایی با المپیاد کامپیوتر ندیدم و اینم بگم چیز زیادی به نسبت شما تو کامپیوتر بلد نیستم و درباره ی بخشاش هم بگم به جز ترکیبیات در هیچ کدوم از زبر شاخه های المپیاد کامپیوتر اطلاعاتی ندارم.
سلام . به عرضتون برسونم که خیلی کار ها برای آشنایی می تونین انجام بدین
کاری که من خودم برای آشنایی کردم این بود :
یه سری سایتایی هستن که توشون سوال های برنامه نویسیه ... یعنی یه سوال می دن به شما , شما باید با نوشتن کد , این سوال ها رو حل کنید ... ( که کلا یه بخش مهم از المپیاده)
یکی از کارهایی که می تونید برای آشنایی بکنید همین سوالاته , قرار نیست همین الان این سوال ها رو حل کنید ها
شما فقط می رید چند تا از این سوال ها رو می خونید ببینید اصلا از فاز سوال خوشتون میاد یا نه
, اصلا خوشتون میاد یه وقت زیادی از روزتون رو با اینجور سوالا کلنجار برید و براشون کد بنویسین یا نه
(سایتایی مثل codeforces.com , projecteuler.net البته سایتا انگلیسی هستن ولی باید تا آخرش با همین سایتای انگلیسی , جلو برید , که البته چند تا سایت دیگه هم هستش ...)
من بعد از انجام این کار چیزی که توی ذهنم به وجود اومد این بود : که توی این سایتا یه سری سوال های خیلی خیلی قشنگ وجود داره , که ۹۰ درصد اونا رو ما قادر نیستیم با سرعت ذهن خودمون حل کنیم ... بلکه به یه سرعت بیشتر نیاز داریم , بعدش میایم یه روش خوب توی ذهنمون برای این سوال پیدا می کنیم (البته می تونید روی کاغذ هم این روش رو پیدا کنید
) و این روش رو توی کامپیوتر شبیه سازی می کنین ... و کامپیوتر چون سرعتش خیلی بیش تر از ما هستش , در یه زمان خیلی کوتاه اون سوال رو حل می کنه ...
مثلا شما می تونید به راحتی بفهمید یه عدد ۲ رقمی اول هستش یا نه , ولی اگر یه عدد ۱۰-۱۵ رقمی بدن به شما , شما باید کلی وقت بذارید تا بفهمید این اوله یا نه , ولی کامپیوتر این کار رو برای شما توی یه زمان خیلی کم انجام می ده ( منتهی الگوریتمشو خودتون باید بهش بدین ... یعنی اون روشی که برای حل این سوال تو ذهنتون دارید , منتهی برای ذهن خودتون سرعت زیادی نیاز داره , میاید همون روش رو اونجا توی کامپیوتر پیاده سازی می کنید - در واقع کامپیوتر هیچ قدرتی برای درک مسئله نداره ... فقط سرعتش بالاست و می تونه یه مقدار زیادی از اطلاعات رو ذخیره کنه و به راحتی بهشون دسترسی پیدا کنه و تنها کاری که انجام می ده اینه که اون کاری که شما ازش خواستین رو , در یه مدت زمان خیلی کم تر از شما انجام می ده ... هر چند یه سری مباحثی به اسم هوش مصنوعی و اینجور چیزا هم هستش که مربوط به این می شه که کامپیوتر هم بتونه خودش تصمیم بگیره و این حرفا
ولی دیگه فراتر از المپیاد کامپیوتره
البته یه نکات دیگه ای هستش که بخوام اینجا توضیح بدم خیلی طول می کشه
یه مقدار که با برنامه نویسی آشنا بشین خودتون می فهمین چی به چیه
)
)
بخش بعدی هم الگوریتمه , که اونم یه مقدار سرچ کنید دربارش می فهمید چی به چیه
(در واقع الگوریتم , یه سری مراحل کاملا مشخص و پی در پی هستش برای رسیدن به جواب یه کار مشخص , یعنی همون روشی که شما روی کاغذ یا توی ذهنتون برای حل سوال پیدا کردید رو , میاد به صورت کاملا منظم توی کامپیوتر پیاده سازی می کنین - که توی المپیاد کامپیوتر بعضی مواقع باید از الگوریتم های نسبتا پیچیده ای استفاده کنین ... )
ترکیبیات رو هم که باهاش آشنایین ...
و می مونه گراف ( که گراف هم در واقع بخشی از ترکیبیاته ... ولی جدا حساب می شه از بس گسترده شده
)
برای گراف هم می تونید برید یه نگاه به کتاب west بندازید ببینید خوشتون میاد یا نه
یه کار خوب دیگه هم اینه که برید یه نگاه مختصر ( روی مختصر تاکید می کنم
) به سوالای مرحله ی ۱ بندازید ببینید از سوالا خوشتون میاد یا نه ( سوالای مرحله ی ۱ , برای حلشون نیاز به معلومات خاصی نیست ... فقط باید یه مقدار خلاقیت داشته باشید ... اگر این سوالو برای یه المپیاد دیگه مثل زیست پرسیده بودید اصلا این مورد رو پیشنهاد نمی کردم ... چون می رفتید سوالات رو نگاه می کردید و در جا بیخیال می شدین
)
ترکیبیات رو هم که خودتون آشنایید باهاش ... و این رو هم بدونید که برای حل خیلی از سوالات برنامه نویسی , شما باید دانش تئوریتون هم بالا باشه ( گراف و ترکیبیات منظورمه - البته الگوریتم که از همه واجب تره برای حل سوالات برنامه نویسی - چون در واقع اون کدی که شما می نویسید , همون الگوریتمه ... منتهی با این تفاوت که با یه زبون قابل فهم برای کامپیوتر اومدین نوشتینش)
تنها بخشی که می مونه اینه که برید یه مقدار هم با برنامه نویسی آشنا بشین ... (که یه سری pdf ها هستش که اگه خواستین بگین تا بهتون لینکشون رو بدم )
که ببینید اصلا از برنامه نویسی خوشتون میاد یا نه
آپدیت : راستی می تونید یکی از قسمت های رادیو المپیاد آیریسک هم گوش بدید , که درباره ی المپیاد کامپیوتر حرف زدن توش ...
و یه کار دیگه هم که می تونید بکنید اینه که برید توی سایت opedia.ir
یه مقدار توی سایتش بگردین یه چیزایی دستتون میاد ...
==========
در واقع حرف من اینه که برای اینکه ببینید از فلان المپیاد خوشتون میاد یا نه , بهترین راه اینه که برید یه نگاه به منابعش بندازید ... ببینید اصلا خوشتون میاد وقتتون رو صرف اینا کنید یا نه... و ببینید اصلا دوست دارید توی یه همچین فضایی فعالیت کنین یا نه , یعنی تا وقتی شما خودتون رو توی اون فضا قرار ندید , نمی تونید نتیجه ی درستی بگیرین ... منم اولش فکر می کردم از المپیاد کامپیوتر خوشم نمیاد , همین کار ها رو که انجام دادم نظرم کاملا عوض شد
موفق باشید