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

Автор Aksenov239, 12 лет назад, По-русски

Здравствуйте!

В это воскресенье (4 ноября) состоится юбилейный командный чемпионат по программированию среди школьников. Он же является и отборочным на ВКОШП. По этим задач также будет проходить онлайн-отбор на ВКОШП и ещё несколько отборов в других регионах.

Контест обещает быть интересным. Вероятно, кто-нибудь после турнира выложит его в Codeforces.Тренировки, чтобы Вы тоже смогли потренироваться на этих задачах.

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

»
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

А будет ли где-то проходить зеркало параллельно с самим контестом?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    Скрорее всего нет. Так как 5 ноября Олимпиада по этим задачам.

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

      А как же dl.gsu.by?...Гомельский отбор проходит на тех же задачах, что и Санкт-Петербурский...Участвовать вне конкурса может любой. Единственное что, качество тестирующей системы оставляет желать лучшего.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится

        Плохой совет.
        Чуть большее чем стандартное число участников повесит систему окончательно, так что лучше не стоит.

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

      Вопрос про олимпиаду 5 ноября. Будет ли разделение на базовую и усложнённую номинации и, если да, какая из них будет полностью соответствовать набору задач чемпионата СПб?

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

        Раньше никогда не было разделения на номинации, да и результаты олимпиады никак не влияли на разделение по номинациям, т.е. олимпиада внезачётная.

»
12 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

а кто участвовал в составлении контеста, или эта информация не разглашается?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Ну... Много человек участвовало. В разборе имеются соответствующие имена и фамилии...

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

мне вот интересно спросить у участников из украины, они собираются ехать, или как всегда: только места у других участников отнимут?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    Как всегда, это 1 раз 1 команда?

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 4   Проголосовать: нравится +1 Проголосовать: не нравится

      Я знаю еще один случай: в 2010 году команда из Киева выиграла интернет-тур и не приехала. Видно, что на Украине есть действительно сильные школьные команды, но, почему-то, они все никак не могут приехать на ВКОШП. Это на самом деле удивляет.

      UPD: В 2009 та же команда заняла второе место и не приехала.

      UPD2: Учитывая, что в этом году почти наверное прошли 2 украинские команды, все ждем Украину на ВКОШПе =)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +27 Проголосовать: не нравится

    Мы вообще этот отбор только второй раз писали. В прошлом году мы заранее сообщили организаторам что не поедем.

    Так что, мягко говоря, рот не раскрывай, а лучше учись названия стран с большой буквы писать.

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

      во-первых, ты за своим ртом следи, я за своим как нить прослежу

      во-вторых, у тебя мания величия? если я говорю Украина, я не имею ввиду конкретно ТВОЮ команду, подразумеваю картину в целом, например тут, тут и тут многие команды украины просто не дали кому-то поехать, и вообще, если не собираешься ехать, спрашивается, ну нах# писать официальный тур? на следующий день проходит трансляция

      а этого финта с оповещением, того что не собираешься ехать, я вообще не понимаю, для кого-то это серьезное мероприятие, определяется поедешь или нет, а кому-то лишний повод потренироваться, классная политика.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +26 Проголосовать: не нравится

        Разговор в достаточно оскорбительном тоне начали вы.

        Моё дело третье, но как мне кажется, если организаторы интернет-тура знают заранее, что команда не поедет, и не говорят команде не участвовать в интернет-туре, то они понимают, что команда может занять проходные места. А раз они это понимают, то либо они сделают квоту больше с учётом этой команды, либо они считают, что наличие этой команды не влияет на состав команд, достойных пройти на ВКОШП. Я более склоняюсь ко второму варианту (если вы собираетесь брать на ВКОШПе призовое место, то вы должны проходить на него с интернет-тура без каких-либо оговорок).

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

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

          Я что-то не понял, а что, организаторы никак не учитывают то, что эти украинские команды играют по сути вне конкурса? Казалось бы, надо сдвигать проходное место в этом случае.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

            Как я понимаю, смотрят не по месту, а по результату.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    И еще один вопрос? Что подразумевается под словом "отнимают" ? Выступайте лучше! Если место было выиграно кем-то, то уже вам не принадлежит.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Как надо было решать F и G?

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

    спойлер.

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Спойлер.

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится

        Если вы о задаче F, то там же можно было предподсчитать ответы на все возможные 70 * 70 тестов. Адекватное полиномиальное решение, по идее, должно без проблем с этим справляться.

        UPD Файлик с ответами на все возможные тесты должен весить около 50 кб. Не знаю, какое ограничение на размер файла с решением на этой олимпиаде, но на студенческом полуфинале оно составляет 256 кб.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Спойлер

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

      Вспомнил пароль и даже смог достать код наших решений:

      F (уж простите за стиль (или его отсутствие), этот код писали в последний час контеста три разных человека в тормозном редакторе, так что времени наводить красоту не было)

      G

»
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

12 место интернет-тура проходит?? СКАЖИТЕ

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

    Следите за информацией на сайте

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

    Если от СПб действительно берут 9 команд (судя по квотам), то от СПб проходит команда с 7 решенными задачами. Думаю, команду с интернет-тура с 8 задачами тоже возьмут :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Поздравляю, вы последняя прошедшая команда. Год назад это почетное место принадлежало нам :)

»
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

мне одному показалось, контест был слишком прост? так и было задумано, или это просто промашка авторов?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Задумано

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +9 Проголосовать: не нравится

    Есть такое негласное понятие "хорошести" контеста. В него, в частности, входят, кажется, такие пункты:

    1. Каждую задачу кто-нибудь сдал

    2. Никто не сдал все задачи

    3. Никакую задачу не сдали все

    4. Каждый сдал хотя бы одну задачу.

    Если выкинуть последний пункт, то по результатам чемпионата Санкт-Петербурга это "хороший" контест. А обычно очень сложно поймать баланс между 1 и 2 пунктом.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      классная ранижровка, однако

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +7 Проголосовать: не нравится

      3 и 4 одновременно тоже не так просто получить =)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится

      Кстати, раз уж тут обсуждают «хорошести» и всё такое, не могу не заметить, что в интернет-туре 4 команды взяли 10 задач. Мне одному в свете этого кажется странным, что лучший результат в СПб — 9?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        ну что тут странного, команды интернет-тура оказались сильнее питерских команд в данном контесте — очевидно же

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Подскажите, пожалуйста, решение задачи J. Вычисление второй координаты (первая в (R, 0)) через полярный угол (а его — через длину хорды) падает (судя по всему, по точности) на разных тестах в зависимости от количества символов после запятой.

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

    1-ая точка — (-R,0) 2-ая точка — бинпоиск координаты X

    Там был путь полегче, если немного подумать. Но лично мне думать не особо хотелось, так что написал бинпоиск

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А вот и разбор: http://neerc.ifmo.ru/school/archive/2012-2013/ru-olymp-team-spb-2012-analysis.pdf

Мне становится все более интересно, почему прошло мое решение G %)

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

    По G есть очень много квадратов которые непонятно как валить, и не понятно вообще можно ли свалить. Тем более что квадрат для 65к это не совсем много. Соптимизить в 10 раз — и пройдет.

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

      Моё решение, в общем-то, O(2^n), где n — длина строки (до 2^16), а это как-то дофига. Но там есть неплохая оптимизация, которая, очевидно, и спасает решение. Может быть, можно доказать, что на самом деле асимптотика даже меньше, но я не знаю, как это сделать.

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

        Ну решение в студию. Что еще тут можно сказать...

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

          Делился уже чуть выше. Код. Кривоватое описание:

          разобьём текущую строку на две половины (назовём эти половины inL и inR), для обоих посчитаем, сколько в ней символов каждого вида (statsInL, statsInR). То же сделаем и с выходной строкой (outL, outR). Если не выполняется ((statsInL = statsOutL) & (statsInR = statsOutR)) || ((statsInL = statsOutR) & (statsInR = statsOutL)), то ответ — No. Если не выполняется (statsInL = statsInR), то мы можем однозначно определить последний бит программы (чтобы узнать остальные биты, выполняем эту же процедуру рекурсивно). Если же мы не можем определить бит однозначно, переберём его. Я не смог доказать, почему это работает быстрее, чем O(2^n), где n — длина строки, но это решение абсолютно без каких-либо проблем зашло на контесте.
          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +3 Проголосовать: не нравится

            Ну рекурентность T(n) = 4T(N / 2) имеет решение O(n2), а не O(2n) все таки.

            Кстати питерский плюсик тоже похожее решение. И как его валить лично я не понимаю. Тут еще много чего отсечется просто потому то половина сфейлилась — вторая не будет считаться.

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

            В твоем решении когда (statInL = statsInR) ты рекурсивно запускаешся 4 раза. С помощью and ты избавляешся от заведомо бессмысленных рекурсивных запусков. При более детальном рассмотрении можно заметить что в худшем случае будет 3 запуска. Поэтому сложность T(n) = 3T(n/2)+n. Отсюда следует что T(n) = 3 ^ (log n) = 3^ 16 = 43046721. Такое количество операций выполняется очень быстро.

»
12 лет назад, # |
  Проголосовать: нравится -9 Проголосовать: не нравится

Поздравляю команду "Молоко, печенье и тяжелая музыка" с хорошим результатом — я за них болел, потому что мне нравится название этой команды:)

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

    Спасибо :)
    Жаль, не написал G на контесте. Идея была верная и простая, но 4 часа дали о себе знать и я целый час тупил, не мог строчки со строчкой связать. Дома же написал решение за десять минут, еще немного подебагал и она легко зашла.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

Вопрос снимается