Втора тренировъчна сесия

Second Training Session

Тренировка

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

Цел

Да усъвършенствате още повече кодерските си качества върху малко по-сложни програмистски конструкции, като няколко вложени цикъла, рекурсия и ползване на стандартната библиотека. Да решите няколко прости графови задачи. Да се сблъскате със задачи, които са нетривиални поради своите частни случаи.

Задачи

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

Аудитория

Тренировката е предвидена главно за хора в C и B състезателни групи, като също така би била полезна за тези от A група, които нямат много задачи зад гърба си. Моите наблюдения са, че това са всички без първите десетина. Ако участвате в състезанията на TopCoder, то тя би била подходяща за хора с по-малко от 1500 рейтинг.

Изисквания

Ако сте правили предходната тренировка, то не ви трябва нищо ново. В противен случай ще трябва да се регистрирате и запознаете с не толкова лесната система на TopCoder (ако вече не сте го направили). Основните неща за това са обяснени ето тук. Отново напомняме, че е във ваша полза да ползвате TopCoder плъгини.

Начин на трениране

Същото като при предходната тренировка, само че решавайте 500 вместо 250. Отново ви съветваме да започнете от SRM 300.

Продължителност

Макар и тази тренировка също да е за скорост, тук задачите са по-разнообразни и по-трудно може да определите кога сте станали "достатъчно добри" за да приключите тренировката. Целта ви е 100 задачи (СРМ-та), като ако не се чувствате достатъчно добри след тях, то можете да продължите да решавате нататък. Признаци за това, че не сте достигнали желаното ниво, са дори в края на тренировката все още често задачата ви да е грешна при първо предаване или да ви отнема повече от 45 минути.

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

Резултат

След нея се очаква времето, което ви е нужно за написване на дадена задача, да спадне с 30-50%, което е страшно полезно както за TopCoder, така и за повечето останали състезания. Очаква се след нея да постигнете син рейтинг в TopCoder.


За да предложите корекция, селектирайте думата или текста, който искате да бъде променен,
натиснете Enter и изпратете Вашето предложение.
Страницата е посетена 2312 пъти.

Предложете корекция

Selected text (if you see this, there is something wrong)

(Незадължително) E-mail за обратна връзка: