Блог пользователя Polichka

Автор Polichka, 14 лет назад, По-русски
Внимание-внимание!!!

Сегодня команда Saratov SU #1 (Gerald, Polichka, Fefer) приглашает всех желающих на  Codeforces Beta Round #28. Олимпиадным программированием мы начали заниматься еще в школе, а потом продолжили в университете. Мы прошли нелегкий путь от команды SU #7 до Saratov SU #1, и теперь стараемся оправдывать этот номер. 

Мы предлагаем вам 5 занимательных задач. Вам предстоит помочь нескольким хорошим людям разобраться со своими проблемами, решить некоторые задачи администрации, поиграть в интересные игры, а также спасти мир.

Спасибо всем, кто помогал нам готовить этот раунд.

Желаем всем удачных взломов и быстрых accepted-ов!
    
UPD: Рейтинги обновлены

UPD:
  • Проголосовать: нравится
  • +75
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится
Всем удачи!
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Интересно, будет 1000 регистраций?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Наверное да, так как в последний час как правило самое большое количество зарегистрировавшихся
14 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Ура!!! 1000 регистраций!!!
14 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Будет ли жюри выкладовать задачи по запасным ссылкам? А то мало ли....
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
is it div 1 or 2?
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
За сколько закрывается регистрация? В прошлые разы вроде за 5 минут до контеста. Сейчас гляжу - уже закрыто. Плохо!
14 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится
удачи всем, высокого рейтинга!!!
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Нa этот раз сервер перегрузился и я не смог посмотреть задачки первые 10 минут. Иначе они мне понравились :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Да, нагрузка действительно большая. К сожалению, оказались проблемы. Будем разбираться. Просим прощения за доставленные неудобства. С другой стороны, задачи были доступны как PDF, о чем Вас честно предупредили заранее.
14 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится
I felt the questions were relatively tougher than previous sets, but they are nice problems. Also, I found description of problems little lengthy and not able to understand it in first go. Had to read 3 - 4 times. Anyway, thanks a lot for all your work and hope to see many more coming :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Хм, а контест как-то анонсировался ранее чем за пару часов до его начала? :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ну если считать анонсом панель "Обратите внимание" и появление контеста в расписании соревнований, то да. %)
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Около недели была открыта регистрация и доступна вся информация о времени контеста/регистрации. На главной она доступна в специальном блоке сверху. В ночь с 16-е на 17-е была сделана рассылка пользователям с напоминанием о контесте. Каждое письмо содержит напоминание о регистрации.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Информацию в блоке в верху страницы я не заметил, а в расписание "соревнования" я не заглядывал - да, сам виноват.


      А вот писем с напоминанием я не получал. Ни разу от codeforces. Первый раз узнал про такую фичу :) При этому отмечу, что письма о том, что мне кто-то на codeforces ответил, приходят мне исправно и быстро.

14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Спасибо за контест, очень интересные (во всех смыслах) задачи получились, на мой взгляд.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Девушка на фотографии очень красивая.

Давайте все выложим свои фотки и сделаем из codeforces сайт знакомств.

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Интересно, а что сейчас мешает выкладывать "фотки" и знакомиться.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Надо добавить в профиль поля: телосложение, жизненные ориентиры, есть ли дети и т.п.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Главное сам аватарку себе не поставил. А остальным выкладывать фотки

        ))

        • 14 лет назад, # ^ |
            Проголосовать: нравится -14 Проголосовать: не нравится

          Я на самом деле против такого рода фотографий на этом сайте.

          Для этого есть специализированные сайты.

      • 14 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Таких сайтов итак полно. 
        Codeforces весьма своеобразный сайт знакомств. Рейтинг заменяет все перечисленное.
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Хотелось бы предложить администрации рассмотреть возможность нерейтингового участия представителей первого дивизиона в див2 контестах (по примеру бета раундов стандартного формата).
Можно, например, создать отдельные комнаты (либо одну большую комнату) для первого дивизиона. Хотя вариант смешения в комнатах рейтинговых и нерейтинговых участников тоже имеет свои преимущества.
14 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Почему бы не открывать регистрацию часа за 3 до начала? При текущих условиях комнаты наполовину(а то и больше) забиты людьми, которые не решают задачи(из-за того, что просто забыли о контесте/не имеют доступа к компьютеру), и из-за этого возможность для взлома уменьшается в 2-3 раза.

14 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Is Saratov SU #1 on this picture?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Yes, we are.

    We become Saratov SU#1 only this year.

    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      Saratov SU #1 in this picture is a very good advertisement of your university (I wish I studied there :P) so you should stay nr 1 for a long time.
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Соревнование будет рейтинговым?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I don't understand problem A. Could some one explain it please?

Also, is there an analysis for every round?
as I can't find the analysis for most of rounds (#25, 26, 27 to name just a few).

Thanks very much.
14 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Хочу затронуть тему объявлений во время контеста. Напишу, как я их понимаю.

Объявления по условиям преследуют две простые цели:
1) Задача должна иметь единственное понимание, и понять задачу правильно должно быть как можно легче;
2) Все участники должны быть в равных условиях.

Алгоритм ответов на вопросы примерно такой.

Сначала проверяем, корректно ли поставлен вопрос и относится ли он к соревнованию - если нет, no comments.

Дальше смотрим, есть ли в условии и/или примере ответ на вопрос участника. Если есть, ему автоматически отвечают read the problem (ну или no comments, если ответ read the problem не является стандартным). Если ответ есть только в примере, и в условии нет ссылки типа "внимательно изучите пример для лучшего понимания", возможно, стоит сделать пояснение — см. дальше.

Дальше есть развитая система умолчаний (какие-то вещи предполагаются, пока обратное не сказано в условии). Например: в тестах не стоят лишние пробелы и переводы строк; после конца последней строки теста стоит перевод строки, и дальше во входном файле нет никакого мусора; если сказано просто, что даны вещественные числа, они не записаны в страшном виде типа 1.234E+056; если сказано, "во входном файле могут встречаться такие-то символы", это не значит, что "а могут и любые другие"... На вопросы об этих умолчаниях, если это нерейтинговый контест или сборы, и команда новая, можно ответить лично. Иначе — см. дальше.

Остаются случаи, когда действительно в условии есть недосказанность, неоднозначность или противоречие, или условие понять можно однозначно, но это занимает неразумно долгое время (например, часть условия можно восстановить только reverse engineering-ом примера). Тогда следует сформулировать патч к условию и разослать его ВСЕМ — ведь если ответить только спросившим, это ставит участников в неравные условия! Участник, читая задачу, не должен её вычитывать, проверяя, нет ли других возможных пониманий. Соответственно, найдя первое полностью согласованное с условием понимание, участник вправе не искать альтернативные понимания и не тратить время на вопросы к жюри. Значит, те участники, которые задают вопросы, не должны иметь преимущества перед теми, которые вопросов не задают.

Примерно так отвечают на вопросы на петрозаводских сборах, а также, насколько я знаю, на соревнованиях уровня NEERC и на Открытом Кубке.

Бывает более дружественный алгоритм ответов на вопросы. Скажем, если в длинном условии где-то в глубине есть одна критическая фраза о крайних или необычных случаях (включительно координаты или нет, бывает ли пустое множество чего-то, что выводить, если ответа не существует, отсортированы ли числа во вводе) — на вопрос можно ответить лично спросившему. Это экономит время участников и позволяет сконцентрироваться на задаче, а не на чтении. Насколько я понимаю, на CodeForces используется какая-то такая дружественная система.

Если о применении такого алгоритма известно заранее, это в общем-то тоже довольно честно — участник сам выбирает, читать или спрашивать. Хотя мне кажется, что сложно провести границу: на какие вопросы отвечать, а на какие (совсем уж глупые, отвеченные в трёх местах условия, раскрывающие подход к решению или слабо относящиеся к сути задачи) всё равно говорить no comments.

Тем не менее, отвечая на такие вопросы, следует всегда проверять, действительно ли ответ понятен из условия и однозначно восстанавливается — иначе участник оказывается в ситуации "угадай правильное условие или задай правильный вопрос", причём не зная об этом. В идеале — такие ответы должен проверять человек, который знает задачу только по тексту условия, а не по объяснениям автора.

Ещё замечание насчёт онлайн-исправлений условия, которое сегодня имело место в нескольких задачах.

Я считаю, что при любом исправлении условия об этом должно быть объявлено всем участникам. Некоторые участники открывают все условия сразу (или скачивают pdf-версию), а некоторые открывают условие, когда приступают к задаче, или даже обновляют его, когда собираются её посылать. В первом случае об изменениях никак не узнать, кроме как из объявления.

Бывают мелкие правки (например, добавление/удаление мягкого знака в слово "появится"). Когда условие неправильное с точки зрения языка, это хоть и затрудняет чтение, но всё же обычно не создаёт альтернативных пониманий. Поэтому объявлять и тратить на это время участников нецелесообразно.

Мне кажется, что такие мелкие правки следует делать уже после соревнования — и потому, что они ставят участников в неравные условия (кто-то из grammar nazi увидел один бесячий мягкий знак и получил по нервам один раз, а кто-то читал уже версию с двумя мягкими знаками... я утрирую, но от качества мелких правок действительно может зависеть скорость чтения), и ещё потому, что когда при обновлении страницы что-то поменялось, но об этом не было объявления, начинаешь искать это и тратить время и внимание.

Вот. Интересно узнать другие мнения, особенно мнение организаторов контестов на CodeForces ;) .
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Спасибо за подробное изложение своего мнения. К сожалению, отвечаю только сейчас - раньше возможности не было.

    В самом деле, установка Codeforces при ответе на вопросы - это максимальная лояльность. Если нас что-то спрашивают, то мы обычно отвечаем. Конечно, есть класс вопросов, которые очевидно являются нечестными или риторическими "Как решать задачу E?" или "У меня не проходит перебор в C, что делать?". То есть если сравнивать традиции российской школы ответов на вопросы и Codeforces, то мы очень часто отвечаем на что-то, что было бы no comments, например, на сборах в Петрозаводске. Здесь мы ставим перед собой задачу максимально упростить жизнь участника, дав ему возможность перейти к решению задачи.

    В самом деле, наиболее тонкий момент - это рассылка пояснения на всех участников. Обычно, если нас что-то спрашивают, что не следует из условия и критично для решения задачи, то мы делаем рассылку. Особенно это касается повторяющихся вопросов. Например, по задаче А раунда 28 были сделаны пояснения. Очевидно, и по задаче D это тоже надо было сделать.  Механизм рассылки, я думаю, выбран вполне удачным - если вы насильственно не поблокировали alert-ы в своем браузере, то пропустить его довольно сложно, даже не смотря в этот момент в сайт, а, например, программируя задачу. 

    Касательно мелких правок (синтаксические и орфографические ошибки), я думаю, что их можно делать во время контеста. Другое дело, что все правки по делу должны дублироваться рассылкой. Относительно того, что кто-то из-за исправления мягкого знака будет в неравных условиях - думаю это ерунда. А вот выискивание изменений непонятно где - это серьезней. Может быть, мы добавим функционал с подсветкой изменений, или к каждому измемению будет прикреплен комментарий, который можно будет просмотреть из условия (changelog).
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ой, я только сейчас заметил, что глобальные объявления через alert-ы не дублируются на основной странице контеста как вопросы и ответы. Это может быть неудобно, даже если соответствующая правка была сделана и в условии — там её ещё надо найти. Если участник в момент объявления занимался другой задачей (скажем, C), ему не до объявления по D. Хочется иметь возможность прочитать его ещё раз после нажатия OK на всплывшем окне.

      О подсветке изменений: хотелось бы, чтобы это не требовало дополнительных усилий от проводящих контест (если случаются изменения в условиях, значит, им и так есть, чем заняться). Например, можно просто хранить все ревизии и позволить сравнивать две ревизии; на Википедии, например, довольно красиво и понятно подсвечиваются изменения.

      В идеале, если это как-то правильно сделать, потом всё объявление можно делать один раз: поменять строки условия и оповестить об этом пользователей. То есть отказаться от того, чтобы отдельно писать объявление, а отдельно вносить изменение в условие. Присылаться в качестве объявления будут, например, предложения, подвергшиеся изменению, с подсветкой — то есть насильно будет показываться diff, но не всего условия, а менявшихся предложений.
14 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Странно... а почему в 28-м контесте некоторые "синие", т.е. лейтенанты по CF- рангам участвовали во втором дивизионе? ))
А сейчас, в надежде на безрейтинговое участие в Codeforces Beta Round #29.... попытался зарегистрироваться на контест.... система мне отвечает, что рейтинг должен быть от 0 до 1499... но тем не менее в контесте уже зарегины sonyckon и rizwanhudda. Это какой-то клюк или же я чего-то не понимаю в условиях участия?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится
    Оба получили синее звание за последний контест, так что предположу что они просто зарегистрировались раньше перерасчета рейтинга.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Is it just me or are the links to the tutorials are all in Russian?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I have just added full tutorial in English.