AliBinary
AliBinary
خواندن ۳ دقیقه·۴ ماه پیش

بهترین منابع برای المپیاد کامپیوتر و مسابقات برنامه نویسی رقابتی

✅ بهترین منابع از نظر من برای المپیاد کامپیوتر و مسابقات برنامه نویسی رقابتی

📄 منابعی برای آموزش، تمرین و مسابقه

اول از همه اینو بگم که شما هرچه منابع باکیفیت و بهتری داشته باشید، به نسبت رقبا (مخصوصا دانشجویان دانشگاه های برتر کشور و کسانی که کلاس و دوره و استادای تاپ دارند) شانس بیشتری برای رقابت خواهید داشت.

این منابعی که اینجا گذاشته میشه، واقعا بهترین منابعی هست که شما میتونید با خیال راحت براش وقت بزارید و پیش برید و رشد کنید ( همگی بررسی شدن و بشخصه بخشی از آموزش هاشون رو دیدم)

لطفا این روهم در نظر داشته باشید، تنها چیزی که باعث یادگیری بهتر و سرعت عمل میشه حل مسئله، حل مسئله و حل مسئله هست.

بریم سراغ اصل مطلب:

0️⃣ تعدادی از مهارتها و دانشهایی وجود دارند که میتونن در خیلی از مواقع کمکتون کنن و بکارتون بیان، مثلا کارتیمی، زبان انگلیسی، یادگیری ساختمان داده و الگوریتم ها، تفکر نقادانه، مدیریت زمان، کنترل استرس، حل تعداد زیاد سوال، سرعت بالادر تایپ، داشتن یه چیت شیت کامل و جامع، آشتی با کاغذ و خودکار و تفکر، آشنایی و شناختن دقیق کد ادیتور تون، یاد داشتن کار با Vim یا NeoVim، بلد بودن دیباگ سریع و کارآمد، داشتن توابع آماده برای اعمال پرتکرار و کلی چیز های دیگه...

به غیر اینها شما در مسابقات برای بالا رفتن از اسکوربرد (جدول امتیازات) دو بال در اختیار دارید:

یه بالتون میشه الگوریتم، یکی دیگه هم که زبان برنامه نویسی هست!

شما بدون تسلط و شناخت کافی از زبان برنامه نویسی توی مسابقه ها فلج خواهید بود !

همچنین در حل مسائل نیاز هست ساختمان داده مناسب رو تشخیص بدید ویا اینکه بتونید یه نوع کلاس یا داده خاص رو براش ایجاد کنید.

چندتا منبع برای شناخت و یادگیری عمیق تر زبان سی پلاس پلاس:

  1. سایت learncpp
  2. سایت geeksforgeeks
  3. سایت learn-cpp.org

برای تایپ و یادگرفتن Vim دوتا منبع دارم میزارم براتون:

  1. سایت تایپو
  2. سایت barbarianmeetscoding

توی مسابقات نفرات برتر خیلی سریع و دقیق مینویسند که برای اینکار Vim و تمرین تایپ انگلیسی (به اصطلاح تایپ ده انگشتی) میتونه کمکتون کنه!

1️⃣ نکات و ریز کاری هایی که توی مسابقات بکارتون میاد:

آقای ارشیا دادرس طلای کشوری المپیاد کامپیوتر:

  1. آپارات ارشیا دادرس

اینچنین کانال هایی برای حل و تشریح سوالات میتونه خیلی مفید واقع بشه:

  1. چنل یوتیوب CPwithShayan

همچنین یدونه آموزش STL CPP دارم که مفید بوده برام:
برای دسترسی به این آموزش کافیه در گوگل سرچ کنید
Power up C++ with the Standard Template Library

2️⃣ برای یادگیری الگوریتم و تفکر سریعتر لازمه که ساعت ها سوال حل کنید.

اکانت نفرات برتر مسابقات و المپیاد کامپیوتر رو که بررسی کنید متوجه میشید که کسی کمتر از 3هزار تا سوال حل نکرده!

  1. سایت کوئرا
  2. سایت کدفورسس

سعی کنید توی مسابقات کدفورسس و کوئرا هم شرکت کنید و از رقابت لذت ببرید.

3️⃣ برای تسلط روی بخش های مختلف بهتره چند وقتی روی اون بخش اموزش ببینید و تعداد زیادی از اون دسته سوالات حل کنید

برای اینکار سایت LeetCode دسته بندی های خوبی داره.

چندتا موضوع پرتکرار و مفید در مسابقات:

https://leetcode.com/studyplan/dynamic-programming/

https://leetcode.com/studyplan/binary-search/

https://leetcode.com/studyplan/graph-theory/

https://leetcode.com/studyplan/programming-skills/

4️⃣ منابعی برای آموزش و تشریح الگوریتم و ساختمان داده و حل مسائل المپیاد کامپیوتر

این سایت ها برای الگوریتم و المپیاد عالی هستن

  1. سایت ببعی
  2. سایت شاززز
  3. سایت اوپدیا (دانش نامه‌ی المپیاد کامپیوتر ایران)
  4. سایت cp-algorithm
  5. سایت algorithmha (الگوریتمستان)

✳️ در آخر عذر میخوام اگ جایی از مطلب اشتباه یا ناقص بود

خوشحال میشم اگر شماهم نظر مفید یا منابع خوبی برای این موضوع دارید در زیر همین مطلب کامنت بزارید

این مطلب صرفا تجربه من در طی این دوسال و مسابقات و راهی هست که تا اینجا اومدم و امیدوارم برا شماهم بتونه مفید باشه.

نام کاربری من در لیت کد و کوئرا:
AliBinary
و در کدفورسس:
AliTitan051

Written with ❤️, Ali Ghanbari

مسابقات برنامه نویسیالگوریتمحل مسئلهبرنامه نویسی رقابتیعلوم کامپیوتر
یک ماجراجوی دیجیتال، به دنبال رازهایی هستم که در کد‌ها، داده‌ها، و الگوریتم‌ها پنهان شده‌اند! https://github.com/AliBinary
شاید از این پست‌ها خوشتان بیاید