| ACM |
 |
|
|
|
| Навігація |
 |
|
|
|
| Теми форуму |
 |
|
|
|
| Чи знали ви, що... ? (beta) |
 |
|
| Житель штату Каліфорнія виграв чемпіонат по поїданню піци на швидкість, який пройшов в Нью-Йорку. 24-річному Джої Честнату вдалося з’їсти 45 шматків піци за 10 хвилин. |
|
| Події |
| Пн | Вт | Ср | Чт | Пт | Сб | Нд |
|
|
|
|
1 |
2 |
3 |
| 4 |
5 |
6 |
7 |
8 |
9 |
10 |
| 11 |
12 |
13 |
14 |
15 |
16 |
17 |
| 18 |
19 |
20 |
21 |
22 |
23 |
24 |
| 25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
|
|
|
|
|
|
Birthday(s):
|
|
 |
John's story |
 |
John's story
Ось знайшов я трохи часу і вирішив зробити і свій запис до історії. Писати буду в основному про себе, тобто про те, як я почав займатися спортивним програмування і що з цього всього вийшло.
Поступив я на факультет прикладної математики та інформатики в 2003-му році. Тоді, як мені тепер здається, в нас на факультеті (як і у Львові взагалі) спортивного програмування не було. На факультеті проводилася індивідуальна олімпіада з інформатики. Правилами АСМ там і не пахло, а проводилася вона за правилами шкільних олімпіад. В моєму арсеналі програміста тоді був вже майже трирічний досвід програмування на Паскалі (я почав його самостійно вивчати в 9-му класі). Правда жодного алгоритму я тоді не знав, навіть не знав про існування якихось алгоритмів, зате за плечима вже був чималий досвід участі в шкільних олімпіадах з математики (математику я дуже любив в школі). Змагатися мені подобалося ще зі школи, тому олімпіади з інформатики я не пропускав. Я тоді надзвичайно успішно реалізовував постулат з народної мудрості: головне не перемога а участь. Та й про які перемоги тоді могла іти мова... тоді все тільки починалося.
Якщо не помиляюся, то в командних олімпіадах я почав брати участь на другому курсі. Тоді вже склалася команда з мене, Руслана (brus07) та ще одного нашого одногрупника Олега. Я ще тоді цього не знав, але у нас на факультеті вже була супер-команда, яка могла виступати впевнено на рівні вищому за університетські олімпіади. Це був четвертокурсник Василь Білецький, третьокурсник Назар Яремчук та другокурсник Юра Семен (Sem). Ось так виглядала оригінальна команда Scorpions.
Вже в кінці першого курсу ми (з Русланом) сильно зацікавилися олімпіадним програмуванням і почали розв'язувати задачі на Тімусі (acm.timus.ru). Цей сайт для нас став площадкою для тренувань. Ми намагалися робити звідти побільше задач, ділилися успіхами і навіть брали участь в online-контестах! Тімус зіграв одну з найважливіших ролей в моїй особистій підготовці. Та й усі спортсмени зі Львова які в АСМ вже досить давно починали з Тімуса. Тепер вже для всіх стартом став АСМ Контестер! Тоді його ще не було.
Коли я тільки починав робити задачі на Тімусі там на першій сторінці (тобто в Топ 25) красувався український прапор біля імені користувача Vasya. Одного разу Юра Семен (мій одногрупник) розказав мені, що той Вася вчиться в нас на факультеті... Я йому, звісно, не повірив... Побачив я Васю вперше в 2004-му році на змаганні, яке проводила комп'ютерна академія ШАГ. Вася тоді переміг, ну це не дивно. Крім того він вже ті задачі робив, адже вони були взяті з Тімуса. Тоді після змагання ми з Русланом попросили (точніше Руслан попросив, а я збоку стояв і слухав), щоб Вася нам пояснив як робити одну з задач. Він почав розказувати. Ми слухали. В мене було відчуття, що до мене говорять по китайськи... але я кивав. Я б тоді подумати навіть не міг, що колись буду з Васею в одній команді.
На другому-третьому курсі завдяки дуже лояльній системі нагородження на факультетських олімпіадах у нашої команди навіть зявилися грамоти за призові місця (призових місць тоді давали дуже багато). Але це вже було досягнення. Цей прогрес досягався в основному завдяки тренуванням на Тімусі. Тоді в нас на факультеті завдяки ініціативі хлопців з команди Scorpions почали проводити олімпіади за правилами АСМ. Не все, звісно, виходило з першого разу. Наскільки пам'ятаю, на першому змаганні яке проводилося з використанням системи автоматичного тестування розробленої Юрою та Назаром, жодній команді так і не вдалося здати жодної задачі... Але то був тільки початок. Та система була зародком, з якого в подальшому розвинувся АСМ-Контестер. Отже на третьому курсі я вже точно знав, що я займаюся АСМ-змаганнями. Бо я вже тоді точно знав, що таке АСМ-змагання... Ось тоді, я вважаю, АСМ ввійшов в історію мого життя, а я спробував ввійти в його історію.
Нашою командою ми і надалі брали участь в АСМ-змаганнях на факультеті і навіть їздили на півфінал України в Хмельницький. Тоді вже існував АСМ-гурток (тепер АСМ College), який сприяв популяризації спортивного програмування серед студентів нашого факультету. Вів його Василь Білецький. На гуртку ми розглядали задачі з різних онлайн джаджів (в основному з Тімуса). Хочу звернути увагу на те, що гурток ніколи не проводився в аудиторії з комп'ютерами. Вони й не були нам потрібні, бо на гуртку ми розглядали лише ідеї та алгоритми, а реалізація залишалася кожному на домашнє завдання. Всі теперішні досвідчені АСМ-щики та TopCoder-мембери з ЛНУ - слухачі перших сезонів АСМ-гуртка.
Оскільки я вже згадав про TopCoder, то скажу кілька слів про нього. Ми почали брати участь в алгоритмічних змаганнях на ТС (TopCoder) в 2005-2006 роках. Насправді В 2005-му ТС з львів'ян писав лише Вася. Ми з Русланом зареєструвалися в лютому 2006-го, тобто на третьому курсі. Спочатку ТС навчив мене, що писати розв'язок потрібно швидко. Потім він мене навчив, що насправді важливо думати швидко! Участь в SRM-ах дає дуже цінні навички написання коду швидко та без помилок, оскільки швидкість там дуже важлива і немає можливості зробити другу спробу, якщо задача не пройде всі тести. Завдяки ТС, я вивчив дуже багато можливостей, які мені надає мова С++, зокрема STL. TopCoder є прекрасним місцем для навчання, оскільки після матчу можна переглянути розв'язок будь якого учасника та почитати ідею розв'язання та пояснення алгоритму від автора. Крім того, в Educational Content є набір чудових статтей по різноманітних алгоритмах. Особисто раджу ці статті всім, в кого немає проблем з англійською. А участь в SRM-ах сильно покращує навички кодера. Змагання на ТС пишу із великим задоволенням і зараз.
...Хто зна як би все далі склалося якби одного разу не подзвонив мені Вася з запитанням чи є в мене закордонний паспорт і з АБСОЛЮТНО неочікуваною пропозицією поїхати в складі його команди на півфінал світу в Румунію. То для мене був як копняк під задницю (в хорошому сенсі), який спрямував мене до досягнення високої мети! Отже я став четвертим учасником команди Scorpions, вийшовши на заміну замість Юри Семена.
Тоді я почав активно тренуватися разом з Васею та Назаром. Ми писали віртуальні контести на TJU (acm.tju.edu.cn/toj), в основному півфінали попередніх років. Крім того я намагався ще й сам брати участь в якнайбільшій кількості віртуальних контестів на цьому ж сайті. Моїм завданням тоді було навчитися писати швидко і правильно задачі прості та середньої складності, щоб розвантажити Василя і дати йому можливість думати над складними завданнями. Таким чином алгоритми я вчив на практиці.
Півфінал у Бухаресті 2006-го року для мене був першим міжнародним змаганням. Нажаль стратегія, яку ми готували не спрацювала абсолютно! Я написав лише одну елементарну задачку, а все решту кодив Вася. Скажу чесно, я тоді ще не був готовий виконувати роль кодера в команді. Та й якби я взяв на себе таку роль, я б робив це значно довше ніж Вася. Ми тоді зайняли 6-те місце. Вася був дуже розстроєний, а я був надзвичайно щасливий лише від того, що я був там, на півфіналі світу. І досі пам'ятаю як ми з Васею пішли з банкету з двома келихами вина прогулятися по Бухаресту і говорили про те, що виграємо цей півфінал наступного року.
Для мене участь в півфіналі, а ще більше участь в найсильнішій команді ЛНУ була надзвичайно важливою. Я дістав поштовх просто неймовірної сили і кілька вагонів ентузіазму до тренувань. Система тренування була наступною: я намагався робити всі задачі які потрапляли під руку. Тобто коли писав віртуальні контести на ТJU не пропускав жодної, навіть найнеприємнішої задачі. Навантаження лягало майже повністю на практику. Інколи навіть якщо на якомусь контесті траплялася задача, яку я вже писав, я не пропускав її, а писав знову! Завдяки таким тренуванням, для мене практично зникли поняття "приємна чи неприємна задача". Я навчився писати швидко все і практично без помилок. Це якраз було те що потрібно! Результати не заставили себе чекати: ми з Русланом (ми двоє виступали в команді) виграли всі контести, які проводилися в нас на факультеті того року. Ми тоді були на 4-му курсі.
На початку сезону 2007-2008 років до Scorpions ввійшов Руслан і команда отримала такий склад, в якому ви знаєте її зараз. Ми легко пройшли півфінал України, який проводився того року вже у Львові, і почали напружено готуватися до фіналу... фіналу України. Ми багато тренувалися командою і кожен по одинці. Для мене майже все літо пройшло в розв'язуванні задач та активній участі в змаганнях, зокрема на ТС. На момент фіналу України 2007-го року я вже заробив червоний рейтинг на ТС, а команда Scorpions була настільки зіграна, що ми розуміли одне одного з півслова і стали конвеєром для розв'язування задач. Хочу особливо наголосити, що в командному змаганні найважливішою є командна робота! Постійні командні тренування надзвичайно важливі для відточення командної роботи, без них, я вважаю, неможливо досягнути успіху у командних змаганнях АСМ ІСРС.
Фінал України 2007 був для нас успішним! Не можу сказати, що перемога далася легко. Але ми просто застосували всі ті навички, які здобули при підготовці. Все пішло по задуманому плану, ми чудово спрацювали командою, виклалися і здолали всі задачі. Далі нас чекав півфінал світу в Бухаресті, але ми були впевнені в своїх силах, адже на фіналі України здобули впевнену перемогу з відривом в одну задачу. Всеж ми не розслаблялися і не переривали тренування в перерві перед півфіналом, адже ми не мали права на помилку.
Змагання в Бухаресті пройшло на одному диханні! Ми не зупинялися (не їли, не пили, навіть попросили не приносити нам снеки) поки не зробили всі задачі! Тоді, здається, це був шок для всіх (і для нас). Не надто високий рівень задач в поєднанні з нашою прекрасною спортивною формою та відточеною командною роботою дозволили нам встановити рекорд - зробити всі задачі за 2 години 4 хвилини! Таким чином після половини змагання ми покинули contest area і пішли "пакувати валізи" до Канади на Фінал. То для нас було водночас і досягнення і дуже серйозна відповідальність, тому що планка для нас піднялася дуже високо...
Підготовка до Фіналу проходила частково "на виїзді". Ми брали участь поза конкурсом у NEERC (Півфінал Північно Східної Європи) та їздили на тренувальні збори у Петрозаводськ та Харків. Найважливішими стали звісно збори в Петрозаводську. Як виявилося, ми були не готові змагатися з росіянами за перші позиції на їхньому полі. Російські задачі були для нас досить незвичними, а результати на зборах дуже поганими. Такий "холодний душ" для нас в той момент зіграв важливу роль, ми зрозуміли, що нам потрібно підняти свій рівень, витиснувши максимум з того часу, який залишився до Фіналу. Тоді частота тренувань піднялася практично до щоденних. Тренувалися в основному на російських задачах. Останнє тренування ми провели за 2 дні до фіналу в Канаді (в готелі) - розв'язували задачі фіналу 2007-го року.
Що було далі ви знаєте...
Після повернення до України відчув, що немає чим зайнятися. Раніше я щодня вставав зранку і їхав на тренування... Досі скучаю за часом, коли ми робили все щоб дістатися тої "золотої" мети.
Пам'ятаю, коли ми в 2006-му в Бухаресті зайняли 6-те місце, я, побачивши розчарування Васі, дав собі слово, що зроблю все, щоб Scorpions досягли успіху наступного року. Я виконав дану собі обіцянку. Я це відчув в Канаді на царемонії нагородження, коли назвали останню команду, яка отримала срібло, і наша назва не з'явилася у таблиці. Тоді Шеф був справді щасливим. Заради того моменту не шкода провести рік в напружених тренуваннях!
Ось, тепер ви знаєте "як загартовувалася сталь". Мораль проста: все, що вам необхідно для досягнення успіху - це бажання і цілеспрямованість!
П.С.: Ви, мабуть, зауважили, що я жодного разу не згадав про штудіювання книг, перечитування Кормена чи інших збірників класичних алгоритмів. Справа в тому, що більшість алгоритмів вивчалися мною по ходу появи задач, де вони були необхідними. Зазвичай джерелом інформації ставав інтернет. А паперових книг по алгоритмах в мене всього 3: 5-ий том Седжвіка про графи, з якого я прочитав лише передмову (а решта на мене діє як чудове снодійне) та 2 томи Кнута які мені дісталися не більше місяця тому. Звісно, я не пропагую ігнорування паперових видань. Мабуть якби в мене колись був Кормен, то я б звертався в пошуку алгоритмів саме до нього. |
 |
Коментарі |
 |
 |
Додати коментар |
 |
|
Будь-ласка, залогуйтесь, щоб додати коментар.
|
 |
Рейтинги |
 |
|
| Міні-чат |
 |
|
|
|
| Зараз на сайті |
 |
|
 Гостей: 3
На сайті немає зареєстрованних користувачів
 Користувачів: 5,103
 новачок: NataEvgten
|
|