توی مطلب قبلی در این مورد حرف زدیم که اگر می خواین کار خوبی پیدا کنین لازمه مهارت های خوبی کسب کنین. این مهارت ها یک شبه کسب نمی شن و به نظر شخصی من هم نمیصرفه اگر ازشون لذت نمی برین، سراغشون برین. آدم باید از کارش خوشش بیاد و من از برنامه نویسی لذت می برم.
برنامه نویسی رقابتی به اون شاخه از برنامه نویسی می گن که معمولا در کارهای روزمره کاربرد مستقیم نداره و برای مسابقه های برنامه نویسی استفاده می شه. هرچند که بلد بودنش نشون می ده شما برنامه نویس خوبی هستین و اتفاقا در بعضی مسائل روزمره هم میتونین راه حل های خوبی ارائه بدین.
یاد گرفتن این شکل از برنامه نویسی سخت نیست: یک ایده + یک توضیح در مورد فضای کار و بعد تلاش برای حل یک مساله. اگر علاقمند هستین نگاهی بهش بندازین کتاب خیلی خوبی برای شروع هست به اسم Competetive Programmers Handbook که همین پایین می تونین دانلودش کنین. این کتاب خیلی فشرده و مفید در بخش اول از سورت تا سرچ کامل، الگوریتم های حریص (گریدی) و برنامه نویسی داینامیک و آموزش می ده. بخش دوم کتاب کلا در مورد گراف است از ترورس و اسپنینگ تا فلو ها و کات ها و بخش سوم هم مباحث مستقل پیشرفته تر مثل نظریه بازی، الگوریتم های رشته ها، ژئومتری و غیره است. چه برنامه نویس تازه کار در برنامه نویسی رقابتی باشین و چه آدمی که این کتاب رو مثل یک کتابچه جدول می بینه، فصل های سه چهار صفحه ای این کتاب می تونه براتون جذاب باشه و چیزی بهتون یاد بده.