Олимпиады
Петрозаводск – лето 2008
4
Вот и вернулся я в очередной раз из Петрозаводска. Потратил на поездку все имеющиеся в наличии денежные средства, надеясь по возвращении получить немалую задержанную зарплату, но, увы, обломилось, и теперь придется с месяц поголодать
В этот раз 7 контестов из 9 я был не один, а с Арманом Есенамановым, приехавшим туда сразу после IOI. А два контеста мы писали даже втроем с Иваном Попелышевым, чьи сокомандники по сборам уехали пораньше. Из всех этих контестов отлично был написан лишь самый первый, который я писал в одиночку, четыре было написано сносно и два фигово
Еще в одном контесте я участвовал как автор нескольких задач.
В результате сборов я все-таки научился писать алгоритм проталкивания предпотока методом «поднять-и-в-начало», впервые на контесте написал структуру с интервальной модификацией и усвоил метод доказательства «данунах«, который оказался очень эффективным, несмотря на универсальность
Далее – немножко фотографий.
IOI 2008 – взгляд издалека
1
Вот и завершился XX-й IOI, ставший не слишком удачным для казахстанской сборной: всего две медали и обе серебряные. Их обладателями стали Жомарт Садыков (29 место) и Бахытжан Байжикенов (56 место). В очередной раз подтвердил свою нереальную крутость семиклассник из Беларусии Геннадий Короткевич, заняв 7-е место и став, таким образом, лучшим представителем стран СНГ. Хорошо выступила российская сборная (2 золота и 2 серебра) и, как всегда, сборная Китая (3 золота и серебро), хотя в прошлом году их результаты были ровно на одну золотую медаль лучше.
Ну а теперь касательно организации.
20th International Olympiad in Informatics
3
Пока весь мир следит за олимпийскими играми в Китае, в городе Мубарак (Египет) начинается 20-я Международная олимпиада школьников по информатике – 20th International Olympiad in Informatics.
Казахстан принимает участие в IOI уже достаточно давно, но только в прошлом году добился выдающихся результатов – 2 золота (Бахытжан Байжикенов и Жомарт Садыков), 1 серебро (Тимур Абишев) и 1 бронза (Виктор Пасиченко). В итоге сборная Казахстана заняла 3-5 место, уступив только России (3 золота и серебро) и Китаю (4 золота).
В этом году в состав сборной опять вошли обладатели золотых медалей Бахытжан Байжикенов и Жомарт Садыков, а также двое участников, впервые принимающих участие в IOI, но показавших весомые результаты на Республиканском и отборочном турах: Арман Есенаманов и Ерназ Сатыбалдиев.
Олимпиада начинается 16 августа, первый тур – 18 августа, второй – 20 августа. А пока немного информации о самих участниках и тренере сборной.
Сборная Казахстана для участия в IOI 2008
7Заходил сегодня в КБТУ по вопросам трудоустройства и, уже закончив свои дела, ходил по зданию в поисках выхода, как вдруг услышал знакомый голос. Заглянул в кабинет, а там три, недавно вернувшихся из ЛКШ пацана вместо того, чтобы отдыхать на летних каникулах перед новым учебным годом, вместе с тренером готовятся к поездке в Египет на IOI 2008.

Google Code Jam round 3
8
Я честно старался не пройти: долго писал 1-ю задачу, забыл поменять ограничения к large-тесту 2-й задачи, не заметил четвертую вершину у треугольника в графе 3-й задачи и забил на hard 4-й, но не получилось – занял 77 место, и, как следствие, попадаю в полуфинал. К сожалению, в деле «непопадания» в полуфинал преуспели остальные казахстанские участники, так что я, похоже, поеду один
Далее – немного о задачах (полные условия лежат здесь).
ZOJ Monthly и GCJ Round 1b
0
В очередной раз вместо того, чтобы пойти погулять в хорошую погоду целый день писал контесты: сначала июльский ZOJ Monthly, на котором умудрился занять 11 место, решив 4 задачи, а затем с перерывом в 7 часов – Google Code Jam Round 1b. Браузеры всячески пытались помешать мне написать GCJ – сначала Opera не захотела заходить в контест после начала, потом Firefox не захотел скачивать hard-тест к 3-й задаче, включив, однако, счетчик времени. Но, преодолев их сопротивление и собственную невнимательность, сдал полностью все 3 задачи и в итоге занял 19-е место, что не может не радовать
Интересен странный подход к подсчету шртафного времени – это время сдачи последнего сданного easy-теста. Это приводит к тому, что все пытаются как можно быстрее решить easy-тесты сомнительной сложности, и получается, что выше тот, кто быстрее печатает. Далее – небольшой обзор задач GCJ.
Google Code Jam Qualification Round
0
Давно я что-то ничего не писал. Начну пожалуй, для разминки, с GCJ
Задача 1. Saving the Universe
Краткое условие
Дан список поисковых систем S (все названия различны, до 100 элементовв) и список запросов Q (каждый запрос – строка из S, до 1000 элементов). Необходимо распределить запросы по системам так, чтобы ни один запрос не совпал с названием системы, которой он будет обработан. При этом запросы должны выполняться в заданном порядке и количество смен поисковых систем должно быть минимизированно (смена системы происходит, когда система, обрабатывающая i-й запрос не совпадает с системой, обрабатывающей j-й запрос).
Расписание контестов в формате iCalendar
4
Достаточно давно Улан Дегенбаев предложил экспортировать расписание соревнований на http://olympiads.kz в формате, понятном для Google Calendar, а сейчас я нашел время воплотить эту идею на практике: http://olympiads.kz/schedule.ics.
Как пользоваться:
- открываем Google Calendar;
- выбираем Add -> Add by URL;
- вводим http://olympiads.kz/schedule.ics в поле Public Calendar Address и нажимаем Add.
Конечно использовать можно не только в Google Calendar, но и в любом органайзере, поддерживающем импорт формата iCalendar.
Работает в тестовом режиме, если заметите ошибки – сообщайте.
Олимпиады по программированию – они такие разные… Часть 4
0Последняя статья об известных мне соревнованиях по программированию.
Долгое время ACM ICPC был единственным крупномасштабным официальным соревнованием. Однако несколько лет назад ситуация изменилась: ежегодно стал проводиться Открытый Кубок по программированию. Участвовать здесь могут все, но подавляющее большинство участников – представители СНГ. Спонсоры: Яндекс и CBOSS.
Это соревнование по правилам ICPC, однако имеются некоторые отличия. Кубок проводится в течение учебного года в несколько этапов (в последнем их было 10), причем в каждом этапе могут участвовать все, независимо от результатов предыдущих этапов. Начинать участвовать можно с любого этапа. По результатам этапов командам начисляются очки, которые затем суммируются и добавляются в общий рейтинг.
TopCoder – все, что вы хотели узнать, но боялись спросить…
0Продолжаю описывать известные мне соревнования по программированию. На этот раз – не только по спортивному программированию, но и по разработке программного обеспечения и графическому дизайну.
Пролог
Про TopCoder я случайно узнал в далеком 2005 году. Зашел на сайт, зарегистрировался, стал еженедельно получать email’ы с анонсом каких-то SRM’ов с призовым фондом $5000, но так и не решился поучаствовать – думал, нереально какому-то самоучке состязаться с профессионалами и еще претендовать на денежное вознаграждение. На участие сподвигнул меня Андрей Лопатин – двукратный чемпион мира по версии ACM ICPC, приехавший в Алматы в качестве тренера на школьные сборы в мае 2006. С тех пор я участвую почти в каждом Rated Event в секции Algorithm и ничуть не жалею об этом, даже если «сливаю» матч вчистую. Из материального заработал я немного – всего $523, которые при вычете налогов сильно уменьшаются в размере, несколько футболок и почти бесполезных вещиц. Но неоценим нематериальный вклад: возможность вживую пообщаться с легендарными личностями, посмотреть, как пишут программы профессионалы, шанс быть принятым на работу в известную компанию, ну и просто наслаждение и польза от самого процесса.