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

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

Здравствуйте дорогие друзья)

Рады приветствовать вас на очередном раунде Codeforces #113 для участников Div. 2. Традиционно, остальные могут поучаствовать в нем вне конкурса.

Задачи для вас были подготовлены уже знакомой группой авторов: Холкин Павел (HolkinPV), Николай Кузнецов (NALP), Артем Рахов (RAD). Мы благодарим Геральда Агапова (Gerald) за помощь в подготовке раунда, Михаила Мирзаянова (MikeMirzayanov) за систему Codeforces и Марию Белову (Delinur) за перевод условий.

В сегодняшнем раунде будет одно нововведение. Распределение баллов по задачам будет динамическим. Более подробно об этом можно узнать здесь)

Надеемся раунд пройдет успешно для всех участников. Желаем вам удачи и высокого рейтинга!

UPD: Соревнование закончено. Надеемся вам понравилось) разбор задач уже здесь

Поздравляем победителей:

  1. Avalanche

  2. seiya

  3. Konon

  4. yongheng5871

  5. I_dont_have_girlfriend

  6. ibra

  7. Doriam30

  8. unknown79

  9. UESTC_Hetalia

  10. lisang

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

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

Задачи для вас подготовила уже знакомая группа авторов: Холкин Павел (HolkinPV), Николай Кузнецов (NALP), Артем Рахов (RAD). Мы благодарим Агапова Геральда (Gerald)

ВНЕЗАПНО!)

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

У меня одного по-английски?

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

My friend tried to register and got the message "Cannot register user now. Try later or contact the administration.". Why?

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

Раунд пройдет без взломов?

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

    Почему? По-моему, данная система не отрицает взломов.

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

      А вот пройдет ли раунд без взломов... Это будет зависеть от корректности алгоритмов участников =)

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

Надеюсь тур будет очень интересным.

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

А зачем отменили сортировку задач по сложности?

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

That wasn't a good idea . At least If you told before I think that would be better . But thank you for your great idea . Hope best for everyone .

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

а почему начало не в 19:00?

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

    потому что начало в 19:30.

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

    Насколько я помню 112-ый или 111-ый контест тоже в 19:30 начинался.

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

      ну там просто перенесли в последний момент, потому что сервер упал, а сейчас еще во время написания поста это время было

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

Странно, на codeforces.com до начала контеста 10 минут, а на codeforces.ru — 15 минут (на момент написания коммента). Синхронизация времени шалит?

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

    Извините, не подумал...

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

    на .сom показывает время до конца регистрации, ибо вы там типа не онлайн

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

      Ой, посыпаю голову пеплом, что-то я невнимателен.

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

Раз раунд экспериментальный, тогда может сделать его нерейтинговым?

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

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

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

    Если не будет особых причин, то раунд будет рейтинговым. Надеюсь, он таким и будет.

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

Подскажите пожалуйста, почему падает на 16 претесте такое решение по задаче B:

Все точки скинем в одну кучу. Построим выпуклую оболочку. Если выпуклая оболочка совпадает с многоугольником А, то все хорошо, иначе плохо. также аккуратно предусматриваем, чтобы вершины многоугольника В не лежали на сторонах многоугольника А(выпуклую оболочку делаем нестрогой).

Кто-нибудь сдал таким способом? Просто интересно, косяк в реализации, или в алгоритме.

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

    Построил выпуклую по B и для каждой точки проверял на принадлежность A за log(A.size()). Тот же 16 претест.

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

      Я проверял на принадлежность все точки B. Претесты проходит.

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

      У меня падало по причине, что лежало на стороне А

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

    Думаю в реализации.

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

    Может баг в том что нельзя что-бы точки лежали на многоугольника?

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

      Точки многоугольника B на выпуклой оболочке? Ну мы же делаем ее нестрогой(добавляем и точки, которые лежат на одной прямой).

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

        Ок, тест:
        3
        0 0
        0 1
        1 0
        3
        0 0
        0 1
        1 0

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

          Ну это же чистая ошибка в реализации — отдельно отсечь точки, которые есть в исходном многоугольнике несложно.

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

          На совпадение вершин у многоугольников, у меня в самом начале стоит отсечение (сетом)

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

        элементарно, ватсон: 4 0 0 0 2 2 2 2 0 1 0 1 ваша программа выводит YES

        я понимаю, что 1 точку нельзя, но можно добавить несколько точек и ваше решение по прежнему выведет YES

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

          Спасибо! А ведь странно, я вроде предусматривала =(

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

    Интересная идея. Бага в алгоритме не вижу. Есть алгоритм попроще: заметим, что B внутри А <=> каждая точка B внутри А. Для быстрой проверки используем выпуклость А: возьмём самую левую и самую правую точку, проведём между ними "верхний купол" А и "нижний купол". Проверяя точку из В, для каждого "купола" найдём бинпоиском отрезок, в котором лежит координата Х этой точки, и проверим, что коорд. Y больше соотв. точки на отрезке для нижнего купола и меньше для верхнего.

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

Хах. По Е написал динамику за 30 сек до конца и не успел продебажить((

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

Столько баллов потерял из-за размера массива в С (((( Вот я тупооой...

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

Can anyone give some hint(s) for problem D? :D

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

    A typical DP problem, but you must record the <shoeId, customerId> pair during the dp loop.

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

Подскажите, каким мог быть 3-й претест в D? Уже голову сломал, блин :)

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

И да, советую заменить "Ошибка времени исполнения" На что-то вроде "Ошибка запуска программы", а то пол контеста думал, что у меня тайм-лимит(((

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

    Ошибка времени исполнения это буквальный перевод Runtime error.

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

    Все более или менее опытные программисты Runtime Error называют Ошибкой времени исполнения.

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

    Кстати, "Ошибка во время исполнения", действительно, было бы гораздо понятнее и занимает не сильно больше места.

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

    Я уже это предлагал. Инициативу не поддержали...

    Так же, эта тема обсуждалась здесь.

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

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

я раунд не писал, но заметил следующий прикол: по задаче С 933 решения, участников див2 2070 (993/2070 < 1/2), почему стоимость ее 500? или из-за взломов?

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

    Потому что учитываются только участники, которые сделали хоть один сабмит. А таковых 1443.

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

мне кажется, или не стоило делать Б такой боянистой? а то многие умники, как я посмотрю с емахха код содрали

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

    Почти любую задачу можно свести к сдиранию кода с емакса и что?
    Да пусть она даже полностью там решена, что дальше-то? Или тупо обидно, что сам не додумался?)

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

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

      а идею эту я знал, так что мне не обидно

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

        Люди, которые копируют код -- сами себе злые буратины, т.к. не понятно что они получат, решив на 1 задачу больше, но не честно. Сами себя обманывают.

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

          да я это прекрасно понимаю (даже прикол не в этом, а в том, что они будут делать когда емахх не будет — на какой-нибудь олимпиаде)

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

            Они не будут конкурентами, причём возможно, именно Вам! Разве это плохо?

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

If after the test completed, the number of contestant who can solved the problem change, will it change the problem's score?

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

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

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

    Как ты предлагаешь решать без простейшей динамики?

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

      если матрицу переходов возвести в степень k, то в в элементе g[i][j] будет храниться количество путей из вершины i в вершину j длины k

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

    Может еще надо сделать в условии пирамиду с 10^3 вершин в основании, чтоб проходило только решение на листике рекуррентного уравнения?

    P.S. Это я к тому, что ответ задачи — (3^n+3*(-1)^n)/4, что вряд ли большой секрет.

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

      не понимаю о чём вы, я всего лишь сказал, что думаю, что умножение матрицы 10^7 раз это плохое решение. Я просто видел такие решения написанные немного по-разному, но некоторые получили AC, а некоторые упали по TL.

      P.S. За формулу спасибо, к сожалению, во время контеста ко мне в голову она не пришла.

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

      Как вывел формулу?

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

      Извиняюсь, но не могли бы вы объяснить откуда берется эта формула?

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

        Можно использовать известный метод решения "линейных рекуррентных уравнений". Например, вот тут на слайдах он обосновывается. Метод вам дает общую формулу в виде суммы степеней "частных решений" уравнения. Грубо говоря, вы (1) находите эти самые частные решения, и (2) находите коэффициенты, с которыми они входят в общую формулу. Частные решения не обязаны быть рациональными (пример -- числа Фибоначчи), но в этой конкретной задаче они таковы.

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

За 10 минут до конца отослал решение 3-й задачи, но до сих пор вижу "В очереди". Это нормально? 1397124

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

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

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

    Да, нормально.

    Посылки проходят финальное тестирование в порядке отсылки, т.е. чем раньше отослал, тем раньше протестировалось.

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

Лол, в D обычный Кун зашел, без всякой фигни с DSU которую я забыл с Петрозаводска

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

    Кун ведь за куб работает, как он зашёл?

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

      Да это я еще оранжевый, вон у tourist он за логарифм от числа вершин будет работать

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

    А на каком тесте Кун валится?

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

      Да вроде за-TL-ить его можно, поиск в глубину у меня идет втупую, а можно как-то не пускать его втупую, а за O(1) переходить (потому что ребер из вершины всего две)

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

        Ага, я в ПТЗ слушал :) Там я не догадался как потом восстанавливать ответ, т.к. мы скипаем некоторое множество вершин, у которых рёбра меняем же.

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

    чёрт, у меня кун тлится. вроде мой рейтинг от dalex не сильно отличается, да и алгоритм вроде тоже. может из-за того, что я в птз не был :(

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

Мне понравилась новая система оценки.

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

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

    Действительно, B сдало намного меньше участников, чем D. Но при этом обе — меньше 1/32 общего количества. При любом дискретном способе определения очков будут подобные ситуации — одинаковая стоимость при большом разрыве и большая разница в стоимости при маленьком разрыве, но количествах сдач на границе разделения. Думаю, нужно делать это распределение как можно более плавным.

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

      Согласен, D сдало в 6 раз меньше народу, чем B, а стоят они одинаково (и это печально). Лучше вводить более непрерывную шкалу.

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

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

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

В целом нововведение интересное, но лучше было бы о изменении правил сообщить в письме рассылки

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

On the Contest page, both of 114 CF contest are for DIV 1 ?

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

was problem B on today's contest about running the Graham scan after adding the points from both and checking the resulting one is the same as the original convex object?

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

I was wondering what point distribution the author had thought for the problem set ?

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

Контест был интересным.Но мне не понравилось то что задача Б была больше на геометрию чем на информатику, а так всё отлично было интересно.

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

    А что в вашем понимании "информатика"? Решение геометрических задач в это понятие не входит?

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

Any tutorials coming?

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

Я сдал задачу А, она прошла у меня все тесты. Но сейчас почему-то у меня осталась только задача С. В чём дело? Кому об этом написать?

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

      Всё понятно. А вот в 13 тесте 22 место занимает кманда решившая 6 задач, с 8 штрафными минутами. Но таких команд 2. Почему ответ 1?

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

        13 тест не проходят решения, которые при равенстве по задачам сортируют штраф по убыванию, а не по возрастанию. Об этом даже в разборе упомянули.

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

          Я сортировал по возрастанию! Можешь посмотреть Я понял почему моя задача не прошла, не понял почему там ответ 1, а не 2!

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

            13 тест виден не полностью, последняя строчка скрыта. Видимо, на последней строчке как раз информация о команде, которая решила больше шести задач, поэтому в действительности у 6/8 не 22-е место, а какое-то бОльшее.

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

    Никому. Читать формат соревнований.

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

    Внезапно на этом тесте ответ 3.

    3 3

    1 1

    1 100

    1 1

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

Please publish the editorial in English, is the second consecutive round that comes only in Russian. If not possible, some better than the google translator.

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

Please provide the Editorial in English..otherwise wont get any benefit by mere participation !!

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

help!help!I got a WA on test #12,my code is [submission:1403496],the former 11 tests are all passed, Who can help me find out the problem of my code?