И снова здравствуйте! На связи с вами из города Монтикьяри, где проходит первый тур 24-й международной олимпиады по информатике успевшие всем надоесть AlTimin и PavelKunyavskiy.
Тур должен был начаться в 11:00 по московскому времени (в 09:00 по местному), но его начало отложили на полчаса. Приношу свои извинения за то, что трансляция от нас началась так поздно: организаторы обещали интернет, но на самом деле его не оказалось, и мне пришлось топать в центр города за симкой.
Как и в прошлом году, на каждом туре участникам предлагается по три задачи. Организаторы пока не выложили задачи в интернет, так что я вкратце перескажу условия задач.
В первой задаче (с самым длинным условием) участникам предлагается написать программы для машинки, которая катается по клетчатому полю 256x256, умеет оставлять в клетках камни. Более формально: в каждой клетке в любой момент времени не может быть больше 15 камней, машинка умеет выполнять команды move
, left
, right
, put
, get
(если при выполнении какой-то команды машинка пытается выполнить некорректное действие, то команда просто игнорируется). Кроме того, в тексте программы можно ставить метки вида L:
и, соответственно, бывает безусловный переход на метку (jump L
) и два условных перехода (pebble L
и border L
), которые совершают переход на метку L в случае, если в текущей клетке есть камень или машинка упирается в стенку. В этой задаче есть несколько подзадач, в которых требуется написать разные программы. В первой подзадаче надо остановится в той из клеток (0, 0) и (0, 1), в которой изначально было больше камней. Во второй все то же самое, но количество камней в этих клетках после выполнения программы должно остаться таким, как было. В третьей надо попасть в середину отрезка. В четвертой нужно было собрать все камни в клетке (0, 0). Балл за подзадачу зависит от количества действий машинки. В пятой нужно найти глобальный минимум на доске, причем менять конфигурацию камней запрещено. Балл за задачу зависит от длины программы.
Вторая задача: дан граф, в который добавляются ребра. Нужно уметь быстро считать количество вершин, при удалении которых граф распадается на множество бамбуков.
Третья задача: есть строка, бывают операции двух видов: "добавить букву в конец строки" и "отменить последние K операций" (да, можно отменить отмену команды!). Кроме этого, в произвольный момент времени приходят запросы вида "узнать K-тую букву строки".
На данный момент осталось два часа до конца контеста. Табличка результатов лежит тут. На первом месте, как ни странно, tourist с 272 баллами из 300. Среди россиян лидирует Егор Суворов (yeputons), находящийся на шестом месте c 204 баллами. Максим Ахмедов (Zlobober) и Олег Иванов (tigvarts) c 148 и 140 баллами занимают 21 и 26 места. У Леши Гордеева (Copymaster) на данный момент всего 9 баллов, видимо он завяз в дебаге довольно неприятной с технической точки зрения второй задачи. Мы надеемся, что он сейчас разберется и получит свои законные баллы по всем задачам.
-1:30: Леша получил 37 баллов по второй задаче. Мы надеемся, что это значит, что он написал стресс-тест и вскоре получит по ней полный балл. Олег превратил 40 в 58 по первой задаче и написал решение на 20 баллов во второй, что подняло его на 19 место. Макс чуть-чуть прокачал первую и вторую задачу, оказавшись на 21 месте. Ждем ответа от Егора.
-1:20 Леша продолжает нас радовать, сдав третью задачу на 34 балла. Тем временем тут произошел небольшой подрыв устоев: какой-то американец китайского происхождения сдал третью задачу на полный балл и вышел на первое место (временно).
-1:00: Час до конца контеста. У Леши по третьей задаче появилось 60 баллов. Он большой молодец: у него получилось собраться в нужный момент, что очень тяжело.
-0:50: Битва титанов продолжается. У американца китайского происхождения 297 баллов, в то время как у Гены всего 287. Болеем за Гену! Леша продолжает нас радовать, набрав 100 баллов по третьей задаче. Немного странно то, что Егор очень давно (больше часа) ничего не посылал. Остается надеяться на то, что он кодит какую-нибудь вундерваффе (и то, что он успеет её докодить до конца тура).
-0:45: Сервер с табличкой периодически ругается страшными словами типа "Internal server error". Надеемся, что у участников никаких проблем с сервером нет.
-0:40: Ахтунг! С табличкой происходит что-то странное, видимо реджадж.
-0:35: Нет, это был не реджадж. Видимо просто глюк таблички.
-0:30: Больше хороших новостей для бога хороших новостей! Сто баллов у Макса по второй, 21 у Леши по первой.
-0:20: Макс и Леша сделали сорок по первой задаче. Тем временем у Johnny Ho 300 баллов, а у Гены день рождения, с чем мы его и поздравляем.
-0:15: У Леши 57 по первой задаче. Не хватает только сотни от Егора по второй для симметрии Вселенной и Высшего Блага и сотни от Гены по первой.
-0:05 Пять минут до конца контеста. Макс продолжает отжигать: 58 баллов по первой задаче, 258 в сумме и седьмое место, с чем мы его и поздравляем.
Контест окончен. В целом сборная написала тур хорошо, но впереди еще второй тур. Пожелаем участникам удачи и хорошего отдыха перед следующим туром.
что такое "множество бамбуков" ?
Бамбуком называют граф-цепочку (то есть степени всех вершин не превосходят двух).
замкнутый цикл — бамбук?
Challenge succеededВзлом удался! И без циклов.видимо, стоит упомянуть также связность
"Балл за задачу зависит от длины программы"
А что это значит? Сравнивается длина кода в байтах?
В командах.
А сколько на 100 в подзадаче 5 задачи A? Upd. И известно ли начальное положение?
Начальное положение в (0,0). Уложиться в 444 команды.
я правильно понимаю, что можно отменить узнавание K-й буквы строки? т.е "отузнать ту букву обратно"
Я призываю сюда Капитана!
Нет, нельзя. Запросы пропускаются при подсчете команд.
Всегда Ваш, Капитан.
Болею за участника "Daniel Hui".
Я думаю Daniel Hui выиграет!)
Buhai Darius, Daniel Hui, день твой последний, ну и так далее...
еще тащусь со сборной США:
1 Ho 5 Lee 36 Wu 196 Daniel Ziegler
прям как hollywood ) Ho Lee Wu D aniel Ziegler
а почему Гена участвует, он же уже вроде закончил школу, нет? собственно как Суворов, Ахмедов и прочие перцы
Представь себе, все участники российской команды тоже уже закончили школу. Прям как Гена, аккурат в этом году.
Обычно межнар проводится в июле, в этом году его перенесли на сентябрь, и из-за этого большинство участников на данный момент являются студентами. С формальной точки зрения все хорошо, так как от участников требуется, чтобы они были школьниками на январь 2012 года.
спасибо за объяснение
Интересно. В IMO, насколько я знаю, критерий не быть студентом высшего учебного заведения (когда-либо до проведения IMO) и быть моложе 25 (тут могу ошибаться). В школу ходить не обязательно
Нужно просто посмотреть в правила IOI:
S2.5 A Contestant is a student who was enrolled at a school for secondary education, in the Country they are representing, during the period September to December in the year before IOI’n, and is not older than twenty years on the 1st of July of the year of IOI’n. Students who are studying abroad may represent the Country of their nationality.
Поправка — на IMO тоже 20 лет ограничение на возраст, но требования обучения нету
На IOI могут участвовать студенты первого курса...
На IOI допускаются те, кто с сентября по декабрь предыдущего года учился в среднем учебном заведении. Примерно так.
Очень похоже на слив.
Чей?
.
A) Гены (у него место > 1 слив, такая уж планка ;) )
B)
Нашей сборной, если только не напишут лучше второй день.Пересчитал по 1/12 золотые, по этому показателю полет нормальный.А можно понять, чем занимается Егор?
В общем, Макс молодец, Олег и Лёша нормально, Егору можно и по ушам. Ждём мыслей участников, хотя им бы пора и дорешивать^Wотдыхать.
А Егор на самом деле так и не улучшил 49-55-100? Тогда это немного печально; ну, ещё второй день есть.
А в целом российская сборная — молодцы по первому дню.
Честно говоря, если вторая задача такая, как написано выше, то по меньшей мере грустно, что они не все её решили:(
Но они еще себя покажут, я думаю:)
Миш, мое мнение по этой задаче прилагательными я озвучу тебе при личной встрече.
Эта задача безыдейна и полная безвкусица и скукота. А самое печальное, что ее пришлось попихать, обильно смазав медом.
В общем-то, получается построить более или менее элегантную реализацию всего происходящего в В:
Пишем структуру, которая обрабатывает добавления ребер и делает три вещи:
а.1) проверяет наличие хотя бы одного цикла в графе;
а.2) проверяет наличие вершины степени 3 и, если она существует, говорит трех ее соседей;
а.3) проверяет возникновение второго цикла в графе.
Дальше так: храним изначально в такой структурке граф. Пока не произошло а.1 или а.2, отвечаем N.
Если произошло a.2, то ставим мега-флаг и c этого момента создаем 4 структуры выше для случаев удаления (вершина или одна из ее соседей), как только какая-то из них говорит а.[1-2] выбрасываем ее. Ответом будет количество еще живых структур.
Если произошло а.1, заменяем ответ N на размер соответствующей компоненты связности
Если произошло а.3, отвечаем 0 отныне и вовеки веков.
Я написал ровно такое решение. Действительно достаточно простое и красиво.
К слову наличие одного или двух циклов я обрабатывал с помощью СНМа. Просто СНМ не проходил по времени вторую и пятую группу. я переписал на струкуру, умеющую обрабатывать это за O(1), но она получилась достаточно мерзкая. Как оказалось, достаточно было сделать запрос в СНМе рекурсивным, но я об этом почему-то не подумал :-( Разворот рекурсии дал реальный прирост в три с хреном раза, я аж не ожидал.
Наличие одного и двух циклов — возврат СНМ:merge, да.
То, что СНМ заТЛил это крайне странно. Миллион запросов для него звучит как "раз плюнуть" в реализации с рангами и сжатием.
помогите расшифровать СНМ, пожалуйста
Система непересекающихся множеств
спасибо. думал английская аббревиатура
Г– н тренер, почему у вас цвет ниже, чем у участников?
Он еще не обратился в мою компанию.
XD
Чукча не программист, чукча блогер.
Потому что господин тренер не обязан сам писать контесты лучше участников. Представь себе, есть чемпион мира по бегу. У него есть тренер, да и не один, наверное. Тренер бегает быстрее чемпиона? Если быстрее, то почему же тогда он сам не чемпион? А если медленнее, то нужен ли такой тренер? Судя по тому, что тренеры не перевелись еще ни в беге, ни в спортивном программировании — нужен.
1. Цвет на Codeforces зависит от очень многих факторов: цель иметь как можно более хороший цвет, наличие свободного времени, владение конкретным форматом соревнований, навыки олимпиадника, навыки программиста, знание теории... Если этот список отсортировать по важности, качества человека как тренера и переводчика условий в нём довольно далеко.
Ну и ещё, чтобы не скучно было, тролльский вопрос:
2. Зачем тренировать кого-то, кто ниже тебя уровнем? Не лучше ли потратить это время на себя любимого?
похоже, автор вопроса троллил AlTimin
Ну, во-первых, я надеюсь вы понимаете, что я говорил не вполне серьезно.
По поводу пункта 2: для самоудовлетворения, может быть? Ну или для собственной прокачки. А потратить время на себя всегда хорошо, да.
Извиняюсь, если задел чувства кого-то из тренеров.
2. Чтобы получить приз "тренер года" от snarknews, очевидно.
2 — это, надеюсь, несерьёзное трололо, а не реальное мнение? Т.к. если таким принципом руководствоваться, человечество стремительно деградирует в абсолютный ноль. Или если рассматривать локально, если человеку с высоким уровнем чтобы прокачать себя на 1 уровень требуется 100 единиц усилий, то чтобы прокачать более низкоуровнего человека на 1 уровень — 1 единица усилий. В итоге он может существенно повысить уровень большого числа других людей, вместо того чтобы чуть-чуть прокачаться самому. Выгода очевидна.
По-моему, это неправильный ответ :)
Правильнее так — когда кого-нибудь прокачиваешь, сам очень даже качаешься. Выгода очевидна :)
(2 это не очень серьёзно, но некоторая доля правды в этом есть, так что продолжим)
Выгода не очевидна, так как непонятен критерий. Совершенно не обязательно 100 программистов 2-го уровня + 1 программист 100-го уровня лучше, чем 100 программистов 1-го уровня + 1 программист 101-го уровня.
Прокачанные low-level'ники будут прокачивать ещё больше low-level'ников и качаться дальше. Вместо одного крутого одиночки можно получить кучу команд индивидуально менее крутых программистов, но каждая из команд уже круче того одиночки 100ого левела.
А что команда слабых людей сильнее одного сильного, — это неоднократно проверенный факт. Например, вспоминая какие-то из не очень старых Петрозаводских сборов, там команда Unpredictable все сборы шла вровень с командой Tourist, периодически меняясь с ней местами; при этом индивидуально из команды Unpredictable ни один из участников даже рядом не стоял с Геной в области спортивного программирования.
Зато Гена (программист 101 уровня) качается сам, а не учит других, и выгода ему от этого есть.
Тем, кто учит других, выгода тоже есть, просто это долгосрочные инвестиции, а не короткосрочные. Ну и просто увеличивается количество добра в мире, что тоже хорошо.
А не ошибка ли это? Кажется, что параллельно с уровнем прокачиваются навыки "соображай/придумывай" намного лучше, чем когда все на блюдечке с голубой каёмочкой. Грубо говоря, оценка не учитывает, что состояние системы содержит первую производную уровня.
Ученик должен превосходить учителя.
Пишут в newsletter, что была конференция для юных падованов Италии и приезжал сам eduardische
Не была, а будет сегодня.
Пожалуйста напишите таблицу резултатов.Я не могу открыть эту таблицу.
Посмотрите здесь: http://carp.di.unipi.it/
Или здесь: http://ioi.snarknews.info/index.cgi?data=2012/day1pre&class=ioi2012&year=2012
Обе таблички открываются.
ooo...Спасибо большое.
Известно ли точное число участников?
Ведь от него зависит распределение медалей !!!
UPD. Минусующие знали число 313? Или не интересно кто какую медальку получит?
Если я правильно правила понимаю, то золото 1-27 места, серебро 28-79, бронза 80-156. Но может быть больше золота и серебра из-за дележей на границах золото-серебро, серебро-бронза, и меньше бронзы, если будет дележ x-y, где x<=156 && y>156. Причем места здесь нужно считать без учёта участников из Италия-2.
Спасибо за информацию! :)
Как распределяются медали в правилах прописано. Главное — знать число зачётных участников. Итак, будем "болеть" исходя из 313 "желающих": 1-27, -79, -156.
Ни пуха!