За сайта


Състезателната информатика вече не е нещо ново. Състезания от типа на IOI и ACM ICPC се провеждат повече от 20 години. С течение на времето се развиват както състезанията и даваните задачи в тях, така и самите състезатели и начините за подготовка. За съжаление, дори малкото налични материали на български език вече са крайно остаряли и не могат да подготвят учениците на ниво, нужно за златен медал на IOI.

Въпреки това, почти всяка година целият ни отбор успява да вземе медали от международната олимпиада за ученици, като често отборът постига един или дори два златни такива. Как успяват топ състезателите да завоюват толкова предни места? Къде и как се подготвят те? Целта на този сайт е да отговори на тези въпроси, а също така да предостави материали на роден език, от които състезателите да черпят знания.

Макар и сайтът да цели да съдържа най-различни свързани със състезателното програмиране теми, той не може да покрива всичко, което е нужно за да се стане добър състезател. Въпреки че материалът се разпростира от най-елементарни техники и алгоритми, до много сложни структури данни, той, например, не съдържа синтаксис на програмен език - тоест няма да Ви научи да програмирате започвайки от нулата.

Какво включва сайтът

Може би най-важното нещо тук ще са лекциите за немалко често срещани (а понякога и по-екзотични) алгоритми и структури данни. Част от темите съдържат по-нестандартна информация, която, макар и понякога с неалгоритмичен характер, е полезна по време на състезания. Тя би Ви спестила много време да напишете парче код или да откриете/избегнете грешките в него.

Като състезатели, ние сме наясно, че теорията, сама по себе си, не е нищо без задачи, в които да бъде приложена. Към всяка тема има линкове към популярни и интересни задачи, с които сме се сблъсквали по време на нашата подготовка (а понякога дори по време на истинско състезание). Те са не по-малко полезни от самите лекции, тъй като дават възможност както да се приложи описаният алгоритъм на практика, така и да се покаже как по съвсем неочевиден начин може той да бъде скрит в задача.

Допълнително към темите сме добавили пет тренировъчни сесии. Те са предложение как да се подготвяте методично и ефективно, съобразено с нивото Ви.

Тренировката е хубаво нещо; тренировката в истинска среда - дори по-хубаво. Участването в онлайн състезания помага много за по-голямо спокойствие в напрегната среда (например на истинско състезание). Ще Ви запознаем с някои от най-популярните онлайн портали както за състезания, така и за тренировка. Също така на заглавната страница и чрез състезателния календар ще се стараем да Ви държим информирани за предстоящи състезания, в които можете да участвате.

Последно, сайтът съдържа различни допълнителни материали - например програмистски термини или задачи от интервюта.

Какво не включва сайтът

Тъй като огромна част от състезателите научават неща като променливи, масиви, цикли, условни оператори и като цяло "как да програмират" в училище или в извънкласни дейности, а също и поради наличието на немалко достатъчно добри източници на български език в тази насока, ние няма да наблегнем на тези теми. Разбира се, от време на време ще споменаваме по някой трик, който може да е полезен на младите състезатели и считаме, че може да не е преподаден в стандартните часове. Но освен такива дребни фрагменти (като, например, битови трикове или някои полезни вградени функции) останалите основи на програмирането ще трябва да научите от други места.

Друга особеност на този сайт е, че, за разлика от отвърдени книги като "Introduction to Algorithms", няма да задълбаваме във формалности. С други думи, ще се опитваме да представим значително по-кратко и просто (ако изобщо) различни доказателства (на теореми и алгоритми) и техните сложности.

За контакт

Сайтът се разработва от Александър Георгиев, като за темите допринасят различни текущи и бивши състезатели.

За мнения, коментари и препоръчки ни пишете на thinkcreative@outlook.com, или ни намерете на нашата Facebook страница.

Страницата е посетена 5251 пъти.