Platformalar - Online Judges

Platformalar - Online Judges

Asadullo Ganiev

Online judge - sport dasturlashi masalalarini ishlashga mo'ljallangan platforma bo'lib, u yerda odatda turli xil musobaqalar o'tkaziladi, reytinglar beriladi.

Codeforces

Codeforces sport dasturchilarini eng katta, eng mashhur sayti hisoblanadi. Buni sababi codeforcesni contestlari va reytingidir. Codeforces ko'p va sifatli contestlar o'tqizadi, shuningdek codeforces reytingi o'z darajangizni aniqlash uchun eng samarali reytinglardan biri hisoblanadi.

Codeforcesda ishlashni tushunib olish uchun shu joydan ozroq misol ishlashni maslahat bergan bo'lardim. Shuningdek o'sha problemset bo'limida o'zingizga kerakli darajadagi yoki kerakli mavzuga oid masalalarni topishingiz mumkin.

Codeforcesdagi yana bir ajoyib narsa EDUdir. Bu yerda turli xil mavzularda videokurslar va ularga doir masalalar mavjud. Tavsiya qilaman.

Umuman sport dasturlashi musobaqalarida yaxshi qatnashish uchun codeforces contestlarida qoldirmasdan qatnashish tavsiya etiladi. Contestlarda qatnashish tezligingizni oshirishda katta ahamiyatga ega.

Codeforcesda siz uchun kerak bo'ladigan barcha narsani topishingiz mumkin.

Atcoder

Ushbu sayt o'zini sifatli misollari bilan codeforcesni ham ba'zida ortda qoldiradi.

Boshlovchilar uchun Atcoder Beginner Contestlar foydali bo'lishi mumkin. Bu turdagi contestlardagi misollar nisbatan osonroq bo'ladi, ammo atcoderda raqobat kuchliligi tufayli ularni tezroq ishlash lozim.

Atcoderni boshqa contestlariga biroz yaxshiroq darajaga ko'tarilib olingandan so'ng qatnashishni maslahat beraman. Chunki ular boshlovchilar uchun ancha murakkablik qiladi.

Codechef

Codechef hindistonda birinchi ochilgan cp(competitive programming) saytlaridan biridir. Bu yerda ham Codeforces va Atcoder kabi contestlar va reytinglar bor. Umuman olganda bu ham yaxshi sayt 🙂

ɿɘboɔqoT

Super tushunarsiz sayt. Ammo baribir contestlarga qatnashsa bo'ladi 🙂

http://arena.topcoder.com da SRM (Single Round Match) lar o'tkazilib turiladi. Shu joyda bunday contestlarga qatnashish mumkin. Shuningdek, qatnashishni yaxshiroq yo'li topcoder java appletdan foydalanishdir.

Umuman olganda Topcoder ham o'zining boshqacha tipdagi contestlari bilan ajralib turadi.

acmp.ru

Yaxshigina taniqli rus tilidagi sayt. курсы bo'limida mavzulashtirilgan masalalar va Фёдор Меньшиковni mashhur kitobidagi masalalarni jo'natish mumkin.

Lekin hozirgi kunda acmp stilidagi masalalar contestlarda deyarli uchramaydi, ammo boshlang'ich bilimlarni olish, algoritmlarni tushunib olish uchun bu saytdagi klassik masalalarni ishlash yaxshi foyda beradi.

acm.timus.ru

[Interneti 2.6 kb/s tezlikdan oshmaydigan foydalanuvchilar uchun zo'r sayt]

Masalalari sifati bilan nom qozongan sayt. Haqiqatdan ham Timusda chiroyli va foydali masalalar juda ham ko'p. Masalalari biroz qiyinroq bo'lsada, sabr toqat bilan ishlab chiqilsa ancha darajangizni oshiradi.

oj.uz

[Bu O'zbekistonni sayti emas, afsuski]

Bu sayt faqat maktab o'quvchilari uchun bo'lib, unda OI style masalalar(IOI dagi kabi masalalar) jamlangan. IOI va boshqa shu kabi musobalarga tayyorlanishda albatta bu saytdan foydalanish lozim.

Leetcode

Leetcode sport dasturchilari uchun biroz "off-topicroq" sayt 🙃 Sababi Leetcode coding interviewlariga tayyorlanish uchun mo'ljallangan. Ya'ni turli xil kompaniyalarga ishga kirishdan oldin bo'lib o'tadigan interviewlarga tayyorlanishga yordam beradi. Va aytish joizki, bu boradagi judayam samarali saytlardan biri.

Ammo, sport dasturchisi bo'laman deganlar uchun bu saytni tavsiya qilmagan bo'lardim. Sababi, bu yerdagi masalalar klassik, ya'ni oddiy, musobaqalarda deyarli uchramaydi. Algoritmlarni tushunish uchun ulardan foydalanish mumkin, ammo xuddi shu ishni codeforces kabi saytlarda qilish ko'proq samaraliroq. Shuningdek, leetcodeda baribir masalalar injinerlik tarafga og'ib ketgan. Sport dasturlashida esa asosiyroq narsa logika va evristika. Shuning uchun ham ko'plab top sport dasturchilari leetcodega qiziqishmaydi, zerikarliligi uchun.



Bu yerda men o'zim foydalangan yoki o'zim foydali deb eshitgan saytlarni keltirib o'tdim, yana boshqa yaxshi saytlat ham juda ko'p. Shunda, shuncha ko'p, turli xil saytlar bor ekan, qaysi biri yaxshi, qaysi birida ishlash kerak degan savol tug'ulishi mumkin.

Dastlab, interviewlarga tayyorlanadiganlar uchun leetcodeni to'xtatmay ishlashni maslahat beraman. Bunda shuncha vaqt ichida shuncha masala ishlayman deb maqsad qo'yib olish yaxshi fikr. Ko'p tuyulishi mumkin, lekin leetcodeda 1000 ta masala ishlash qiyin emas, qanoat bilan bir xilda ishlab borish kifoya. Algoritmlarni chuqurroq o'zlashtirishni xohlaganlarga sport dasturlashini tavsiya qilaman.

Sport dasturchilari esa bitta sayt bilan qotib qolishmaydi. Ular hamma saytdan masalalar ishlab ko'rishadi. Ammo baribir, asosan Codeforcesga e'tibor berganlari yaxshi. Codeforces reytingni yaxshilab boravering. Shunda o'zingiz turgan o'rningizni ko'rishingiz mumkin bo'ladi. Maktab o'quvchisi hozirgi kunda expert yoki Candidate master bo'lsa, xalqaro olimpiadagi chiqishi unga qiyinchilik tug'dirmaydi. Ammo bu darajaga chiqish uchun ham ancha mehnat qilish kerak. Keyingi postda qanday qilib maktab o'quvchisi IOIga chiqishi mumkinligi haqida yozaman.

Motivatsiya

Shuncha resurs, ma'lumot, bilimlar bo'lsada, ba'zida nimagadir o'sish bo'lmay turaveradi. Bu bor gap, bor muammo. Birinchi o'rinda, har doim o'zingizni o'rganib boring, qaysidir mavzuda qiynalyapsizmi, shu mavzuga ko'proq e'tibor berib, shu ustida ishlang. Graflar bo'yicha muammo bormi, faqat grafga doir misollarni ishlab, o'zingizni kuchaytiring. Muammolaringizni birin ketin kamaytirib boring. Keyin esa yangi mavzularni, yangi bilimlarni o'zlashtiring.

Ko'p mehnat qilsada, menda o'sish bo'lmayapti, qanday tayyorlanishim kerak, nimanidir noto'g'ri qilyapmanmi deb muammolarga uchrayotkanlar ko'p. Internetda bu borada yuzlab, xatto minglab savollar, muhokamalar bo'lgan. Ammo hamma shu kabi savollarga javob bitta - "just, practice", ya'ni oddiygina ko'proq mashq qiling, shug'ullaning. Yaxshi darajaga yetish uchun minglab masalalar ishlash, mehnat qilish talab qilinadi. Savollar berishni to'xtating, harakat qilishni boshlang. Omad ✌️


Telegram: https://t.me/cp_uz

Discord: https://discord.gg/sdEKuVapj5

Report Page