الگوریتمستان - آمادگی مسابقه برنامهنویسی
نوشتهها با موضوع آمادگی مسابقه برنامهنویسی
الگوریتمستان
برچسبها
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
الگوریتم
برنامهنویسی
مسئله الگوریتمی
ریاضیات
منبع آموزشی
پایتون
یادگیری ماشین
هوش مصنوعی
الگوریتم تقسیم و غلبه
الگوریتم بازگشتی
طراحی الگوریتم
الگوریتم برنامهنویسی پویا
مقاله آموزشی
محاسبات ریاضی
نکته برنامهنویسی
کتاب مسابقات برنامهنویسی
پیمایش گراف
الگوریتم مرتبسازی
ساختمان داده
الگوریتم حریصانه
الگوریتم گراف
کتاب یادگیری ماشین
الگوریتم مسیریابی
ماتریس
ویدئوی آموزشی
جستجوی اول سطح
بازی فکری
الگوریتم کوتاهترین مسیر
درخت دودویی
الگوریتم دایکسترا
امنیت اطلاعات
مسئله کولهپشتی
صف
الگوریتم فلوید-وارشال
جستجوی اول عمق
معرفی وبسایت
الگوریتم عقبگرد
کتاب تفکر الگوریتمی
آمادگی مسابقه برنامهنویسی
ریاضیات
پایتون
یکی از سوالات مهم کسانی که میخواهند وارد دنیای برنامهنویسی شوند این است که از کجا شروع کنیم؟ چه زبانی مناسب است و آیا برنامهنویس شدن پیشنیازی دارد؟ چقدر آشنایی با ریاضیات ضروری است؟ هر زبان برنامهنویسی یک ابزار ارتباط با کامپیوتر است ...
کتاب Competetive Programming
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
الگوریتم
ویراست سوم کتاب برنامهنویسی رقابتی با نام کامل Competitive Programming 3: The New Lower Bound of Programming Contests با تلاش Steven Halim و Felix Halim از مربیان تیمهای برنامهنویسی ACM-ICPC سنگاپور تالیف و در سال ۲۰۱۳ منتشر شده است که امروزه به عنوان یکی از منابع مناسب برای آمادگی تیمهای شرکتکننده در مسابقات برنامهنویسی الگوریتمی بویژه مسابقات برنامهنویسی ACM-ICPC توصیه میشود ...
مسابقه تمرینی ACM-ICPC 2018
آمادگی مسابقه برنامهنویسی
سری دوم مجموعه سوالات تمرینی مسابقه برنامهنویسی ACM-ICPC در پیوند زیر تنظیم شده است: vjudge.net/contest/244032 این سوالات از مجموعه سوالات مسابقات عموم سوالات با موضوع مباحث ریاضی و روشهای حل مبتنی بر برنامهنویسی پویا یا حریصانه از مجموعه سوالات مسابقات برنامهنویسی ACM-ICPC دورههای گذشته و همینطور وبسایتهایی مانند CodeForces انتخاب شده است و ترتیب خاصی از نظر درجه سختی یا روش حل وجود ندارد ...
مسابقه تمرینی ACM-ICPC 2018
آمادگی مسابقه برنامهنویسی
سری اول مجموعه سوالات تمرینی مسابقه برنامهنویسی ACM-ICPC در پیوند زیر تنظیم شده است: vjudge.net/contest/237985 این سوالات از مجموعه سوالات مسابقات برنامهنویسی ACM-ICPC دورههای گذشته و همینطور وبسایتهایی مانند CodeForces و UVa Online Judge انتخاب شده است و ترتیب خاصی از نظر درجه سختی یا روش حل وجود ندارد ...
مسئله Column Addition
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
الگوریتم برنامهنویسی پویا
تصور کنید سه ردیف عدد زیر به ما داده شده است که ادعا میشود ردیف سوم حاصل جمع دو ردیف اول است. این عملیات در پسزمینه انجام میگیرد که کنترل آن خارج از اختیار ما است و خروجی آن لزوما نشانگر جمع صحیح نیست ...
مسئله آتشسوزی در برره
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
جستجوی اول عمق
برخی از نقاط روستای برره در حمله دشمن فرضی آتش گرفتهاند! این آتش رفته رفته گسترش پیدا کرده و به نقاط دیگر نیز سرایت میکند. خرزو خان که تنها بازمانده روستا در نبرد با دشمن فرضی است، تلاش میکند خود را برای نجات به تنها هلیکوپتر روستا برساند ...
کتاب راهنمای برنامهنویسان رقابتی
آمادگی مسابقه برنامهنویسی
الگوریتم
منبع آموزشی
کتاب Competitive Programmer's Handbook (راهنمای برنامهنویسان رقابتی) کتابچهای است که در آن عموم مباحث مورد نیاز جهت شرکت در رقابتهای برنامهنویسی همچون المپیاد کامپیوتر دانشآموزی یا مسابقات برنامهنویسی دانشجویی به صورت مختصر و مفید یک جا جمع شده است ...
مسئله Jolly Jumpers
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
دنبالهای از $n$ عدد صحیح را Jolly Jumper گویند هر گاه قدر مطلق اختلاف عناصر متوالی آن، همه اعداد 1 تا $n-1$ را تولید کند. برای مثال دنباله 1 4 2 3 Jolly Jumper است. چرا که قدرمطلق اختلاف عناصر متوالی آن 3، 2 و 1 است ...
دورهی مسابقات برنامهنویسی استنفورد
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
الگوریتم
مستندات دوره «Introduction to Programming Contests» دانشگاه استنفورد با تدریس Jaehyun Park (مربی تیمهای ACM-ICPC این دانشگاه) شامل اسلایدها، سوالات برگزیده برای تمرین در موضوعات مختلف ریاضیات، ساختمان دادهها و الگوریتمها به همراه نکات برنامهنویسی از پیوند زیر قابل مشاهده و دریافت هستند: CS 97SI: Introduction to Programming Contests ...
مسئله The Trip
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
گروهی از دانشجویان عضو کلوپی هستند که هر سال سفر به یک منطقه را در برنامههای خود دارد. ایندیاناپلیس، فینیکس، نَشویل، فیلادلفیا، سن خوزه و آتلانتا از جمله مناطقی هستند که در گذشته سفر انجام شده و این بهار نیز نوبت سفر به آیندهوون است ...
مسئله 3n+1 Problem
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
الگوریتمی را در نظر بگیرید که با دریافت یک عدد $n$، دنبالهای از اعداد را تولید میکند. به این ترتیب که اگر $n$ زوج بود، تقسیم آن بر عدد 2 و اگر فرد بود، $ 3n + 1 $ را به عنوان جمله بعدی دنباله و مقدار جدید برای $n$ تولید کرده و عملیات را تا زمانی که مقدار $n$ برابر 1 شود، ادامه دهد ...
مسئله Encrypted SMS
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
اعضای کمیته علمی ACM امسال از ایمیل برای بحث در مورد سوالات استفاده میکنند. آنها میدانند که ایمیل ابزار امنی برای ارتباط در مورد چنین موضوعات حساسی نیست. بنابراین فایلهای فشرده رمزگذاری شده را تبادل میکنند ...
مسئله Gholam's Simple Game
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
کف اتاق خواب غلام با کاشیهای سفید و زرد پوشیده شده است. گاهی که حوصله ندارد، روی یکی از کاشیها میایستد و در آن ردیف از کاشیها قدم میزند. او ابتدا عدد $n$ را انتخاب میکند و تنها $n$ قدم حرکت میکند ...
راه حل سوالات مسابقه جهانی ACM-ICPC 2016
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
برنامهنویسی
ویدئوهای راه حل سوالات مسابقه جهانی ACM-ICPC 2016 را در کانال آپارات الگوریتمستان مشاهده کنید: aparat.com/algorithmha ...
مسئله What Base Is This
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
میدانیم که جایگاه رقم در یک عدد، وزن آن را در مقدار عدد مشخص میکند. برای مثال، عدد 362 در مبنای 10 از رقم 2 با وزن $10^0$، رقم 6 با وزن $10^1$ و رقم 3 با وزن $10^2$ به صورت $ 3 \times 10 ^ 2 + 6 \times 10 ^ 1 + 2 \times 10 ^ 0 $ یا $ 300 + 60 + 2 $ تشکیل شده است ...
کلاس Programming Challenges
آمادگی مسابقه برنامهنویسی
الگوریتم
منبع آموزشی
کتاب Programming Challenges: The Programming Contest Training Manual اثر Steven Skiena و Miguel Revilla یکی از کتابهای مناسب تمرین گام به گام برای شرکت در مسابقات برنامهنویسیای همچون المپیاد کامپیوتر و ACM-ICPC است ...
مسئله انتخابات
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
ریاضیات
جناب خان که با کسب و کار لبوی خود میلیاردر شده است، میخواهد رئیس جمهور شود! در کشور او که از چندین ایالت تشکیل شده است، از روشی با عنوان هیئت انتخاب (یا هیئت الکترال) برای انتخاب رئیس جمهور استفاده میشود ...
sync_with_stdio در زبان ++C
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
زبان برنامهنویسی ++C علاوه بر ابزارهایی مانند cin و cout برای عملیات I/O، توابع scanf و printf را هم برای همین کارها از زبان برنامهنویسی C به ارث برده است. هر کدام از این دو دسته مزایایی دارند که ممکن است بخواهیم از هر دو در برنامهنویسی استفاده کنیم ...
ابزار VJudge
آمادگی مسابقه برنامهنویسی
برنامهنویسی
معرفی وبسایت
وبسایت Virtual Judge این امکان را فراهم میکند که با ترکیب دلخواهی از سوالات وبسایتهای مخزن سوالات برنامهنویسی همچون UVA ، Codeforces و خود سوالات ACM-ICPC ، مسابقه مجازی برگزار کرد. از این حیث برای تمرین تیمهای مسابقات ACM-ICPC بسیار مناسب و کارا است ...
مسئله اعداد اردوش
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
الگوریتم برنامهنویسی پویا
پل اردوش ( اردیش - Paul Erdős ) ریاضیدان مشهور و برجسته قرن بیستم است که تا پایان عمر خود تلاش گستردهای برای انتشار مقالات علمی داشت و همکاری با وی در انتشار مقاله یک افتخار بزرگ برای هر ریاضیدان محسوب میگردد ...
نکتهای از مسأله Graphical Editor
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
برای حل سوال Graphical Editor باید هر خط از ورودی بررسی و اگه دستور معتبر بود اجرا شود. اما اگر دستور نامعتبر بود، باید کل خط نادیده گرفته شود. مشکل اینجاست که مشخص نیست چه دادههایی و به چه تعداد در اون خط وجود دارند ...
نکتهای از مسأله LC-Display
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
نکته برنامهنویسی
زمانی که ورودی مسأله از نوع عددی است لزومی ندارد داخل متغیر عددی ذخیره کنیم. گاهی ممکن ذخیره آن به صورت رشته بهتر باشد. مثلا برای مسأله LC-Display باید عدد را از چپ به راست و رقم به رقم پردازش کنیم ...
مسئله بشکههای آب
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
$n$ بشکه آب با تعدادی لوله به هم وصل شدهاند. هر بشکه استوانهای عمودی با سطح مقطع یک متر مربع و ارتفاع نامحدود است که با عدد یکتا بین 1 تا $n$ شمارهگذاری شده است. $i$-امین لوله بشکه $ x_i $ و $y_i$ را به هم متصل میکند ...
کتاب طراحی الگوریتم با رویکردی خلاقانه
آمادگی مسابقه برنامهنویسی
الگوریتم
منبع آموزشی
کتاب Introduction to Algorithms: A Creative Approach را میتوان مکملی بر استفاده از کتاب Introduction to Algorithms (مشهور به کتاب CLRS) دانست. در این کتاب علاوه بر معرفی تکنیکهای مختلف طراحی الگوریتمها و روشهای حل برخی مسائل الگوریتمی، روشهای تحلیل و حل آنها با جزئیات بیشتر و به صورت گام به گام بررسی شده است ...
مسئله تاریخچه جدول
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
جستجوی اول سطح
جدولی با n سطر و m ستون در نظر بگیرید. در تمام خانههای این جدول عدد 0 نوشته شده است. در ابتدای کار حامد در خانهای از جدول ایستاده است. او عدد این خانه را پاک میکند و عدد 1 را به جای آن مینویسد. حامد شروع به حرکت میکند و در هر ثانیه یک خانه به بالا، راست، پایین یا چپ میرود ...
مسئله آسانسورها
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
الگوریتم برنامهنویسی پویا
ساختمان جدید دپارتمان مهندسی کامپیوتر تنها شامل آسانسور بوده و پله ندارد. برای دسترسی سریع و مناسب به اتاقها و کلاسهای طبقات مختلف، آسانسورها به گونهای تنظیم شدهاند که تنها در طبقات مشخصی توقف داشته باشند؛ مثلا تعدادی تنها در طبقات زوج و تعدادی دیگر تنها در طبقات فرد ...
مسئله دوستان خوب
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
دو دوست در زمین نامحدودی متشکل از حصارهای دایرهای شکل هماندازه با ساختار زیر قرار دارند. یکی از دوستان قصد دارد با حرکت در این ساختار نزد دوست دیگر خود برود. حرکت در این ساختار در هر گام شامل جابجایی به یکی از دایرههای مجاور است ...
مسئله حداکثر مجموع
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
ریاضیات
ماتریس مربعی با ابعاد $N$ در $N$ و درایههایی از اعداد صحیح موجود است. منظور از زیرماتریس بیشینه، زیرماتریسی از ماتریس مفروض است که مجموع عناصر آن بزرگتر یا مساوی مجموع عناصر هر زیرماتریس دیگر آن است ...
نکات مهم در برنامهنویسی به زبان ++C
سیپلاسپلاس
آمادگی مسابقه برنامهنویسی
برنامهنویسی
اجتناب از بررسی تساوی در اعداد اعشاری اعداد اعشاری در محاسبات ریاضی - مانند عمل تقسیم یا محاسبه توابع مثلثاتی و غیره - ممکن است حاوی مقدار بسیار ناچیزی خطا باشند که عموما ناشی از عملیات گرد کردن و قطع کردن نتایج مراحل میانی محاسبات هستند ...
مسئله چراغ راهنمایی
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
یک چراغ راهنمایی در مسیر گردش از بزرگراه به یک مرکز فروش بزرگ تعبیه شده است. عملکرد این چراغ به گونهای است که در هر دقیقه حداکثر k خودرو امکان گردش از بزرگراه به سمت مسیر مرکز را دارند. در پایان هفته شهروندان بیشتری برای خرید به این مرکز مراجعه میکنند که باعث بالا رفتن حجم ترافیک میشود ...
مسئله Simple Addition
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
توابع بازگشتی توابعی هستند که خودشان را بهطور مستقیم یا غیرمستقیم فراخوانی میکنند. این توابع معمولاً برای حل مسائلی که به بخشهای کوچکتری تقسیم میشوند، مانند فاکتوریل یا دنبالهی فیبوناچی، بسیار مفید هستند ...
مسئله مربی ناامید
آمادگی مسابقه برنامهنویسی
مسئله الگوریتمی
ریاضیات
یکی از تیمهای لیگ برتر فوتبال (جام خلیج فارس) امسال نتایج خیلی بدی گرفته است. هیئت مدیره باشگاه برای اخراج مربی تحت فشار هستند. اما این مربی از سوی طرفداران تیم به عنوان یک قهرمان محبوب حمایت میشود ...
کتاب چالشهای برنامهنویسی
آمادگی مسابقه برنامهنویسی
الگوریتم
منبع آموزشی
کتاب Programming Challenges: The Programming Contest Training Manual از انتشارات معتبر Springer کتاب مفیدی برای آمادگی شرکت در مسابقات برنامهنویسی است که نویسندگان آن به صورت گام به گام، خلاصه و مفید، به مفاهیم و نکات مهم برنامهنویسی، ساختمان دادهها، محاسبات ریاضی و طراحی الگوریتمها اشاره داشته و با طرح مسائل متفاوت از هر موضوع، خواننده را به چالش حل مسئله کشیدهاند ...
مباحث کاربردی در مسابقات برنامهنویسی
آمادگی مسابقه برنامهنویسی
یکی از سوالات رایج علاقهمندان شرکت در مسابقات برنامهنویسی (مانند ACM-ICPC) این است که چگونه خود را برای این مسابقات آماده کنیم؟ تا چه حد تسلط به یک زبان برنامهنویسی یا مفاهیم مختلف طراحی الگوریتم و شاخههای وابسته مورد نیاز است؟ کتاب Art of Programming Contest به عنوان یک کتاب اختصاصی آمادگی مسابقات برنامهنویسی به چنین سوالاتی نیز پاسخ داده است ...
کتاب هنر مسابقات برنامهنویسی
آمادگی مسابقه برنامهنویسی
منبع آموزشی
طراحی الگوریتم
وبسایت UVa یکی از وبسایتهایی است که امکانات مفیدی را برای علاقهمندان حل سوالات الگوریتمی و شرکتکنندگان مسابقات برنامهنویسی (بالاخص ACM) مهیا کرده است. در این وبسایت مجموعه سوالاتی در سطوح مختلف و مشابه سوالات مسابقات برنامهنویسی بینالمللی در دسترس عموم قرار گرفته است که علاقهمندان میتوانند پس از عضویت در سایت، پاسخ هر سوالی را که حل کردهاند، ارسال کنند ...
کتاب مقدمهای بر مسابقات برنامهنویسی
آمادگی مسابقه برنامهنویسی
الگوریتم
منبع آموزشی
کتاب مقدمهای بر مسابقات برنامهنویسی (با عنوان انگلیسی An Introduction to Programming Contests) کتابی به زبان فارسی مناسب برای علاقهمندان به شرکت در مسابقات برنامهنویسی است که توسط احمد یوسفان، محسن بیگلری، فائزه میرزایی و امین بابادی، از شرکتکنندگان در مسابقات برنامهنویسی ACM-ICPC، نوشته شده است ...