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

Автор lperovskaya, 11 лет назад, перевод, По-русски

Сегодня мы открываем регистрацию на чемпионат по спортивному программированию Яндекс.Алгоритм-2015. В этом году чемпионат пройдёт полностью в онлайне, на платформе Яндекс.Контест. Участником может стать каждый, кто умеет решать алгоритмические задачи и воплощать решения на одном из 13 языков программирования.

Яндекс.Алгоритм состоит из нескольких отборочных раундов, в каждом из которых нужно решить пять задач за 100 минут. В финал, который состоится 6 августа, выйдут 25 лучших по результатам отбора. Призёров ждут денежные призы: 300 тысяч рублей за первое место, 150 — за второе и 90 — за третье. Кроме того, 512 сильнейших участников Алгоритма получат футболки от Яндекса.

В отборочный этап будет приглашен каждый, кто решит хотя бы одну задачу в тренировочном или квалификационном раунде, которые пройдут 3 и 17 мая.

UPD Тренировочный раунд уже сегодня!

UPD Приглашаем принять участие в квалификационном раунде — он пройдет в формате виртуального контеста, начать который можно до полуночи с 17 на 18 мая. Финалистам ACM ICPC привет =)

UPD Не пропустите первый раунд отборочного этапа Яндекс.Алгоритма, который пройдет сегодня, 24 мая 2015, в 21:00 (UTC+3). Раунд продлится 100 минут по правилам TCM/Time.

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

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

Экспорта в календарь не хватает

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

Финальный раунд длиною в минус год — необычно.  Нужно будет накодить машину времени?

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

Sorry, form unavailable Need auth.

What's wrong?

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

Готовы ли вы встать в 5 утра ради футболки?

  • »
    »
    11 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится -7 Проголосовать: не нравится

    готовы ли вы не ложиться до 5 утра 6 40 ради футболки?

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

    не совсем понимаю, как определятся эти 512 сильнейших, может кто-то объяснить или дать ссылку на почитать?

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

      дак это в правилах вроде написано
      сначала баллы(гран-при 30), потом задачи, потом время

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

        спасибо, даже не знаю, как я не заметил))

        кто еще не видел, вот описание:

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

        Участник располагается выше в итоговой таблице отборочного этапа, если имеет:
        больше зачетных очков;
        больше решенных задач при равенстве зачетных очков;
        меньше штрафного времени при равенстве зачетных очков и одинаковом количестве решенных задач.

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

В этом году чемпионат пройдёт полностью в онлайне

Странно, что эту фразу никто до сих пор не прокомментировал :).

К слову, вот тут Egor откликнулся уже через 6 минут после опубликования поста.

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

    Потому что это уже стало мейнстримом

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

    Ну там чуть другая ситуация была, людям пообещали онсайт, а потом его отменили.

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

    Анонсировать отсутствие онсайта перед началом отборочных раундов несколько честнее чем после их окончания.

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

      Я делаю акцент в первую очередь на значительном снижении финансирования СП двумя его крупными спонсорами в России. А так, я с Вами полностью согласен.

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

        С другой стороны, в этом сезоне Яндекс организовал такую вещь, как спонсорский зачет OpenCup. ИМХО весьма заметное вложение в финансирование СП. И общий призовой фонд там в несколько раз выше, чем в том же Яндекс.Алгоритм 2015.

        Хотя от этого факт отсутствия онсайта не становится менее неприятным.

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

          Если честно, когда я увидел объявление об этом спонсорском зачете, у меня возник лютый фейспалм.

          Цитирую свои тогдашние мысли: "Яндекс собирается оплатить поездку на сборы таким монстрам, которым ее с вероятностью 99% и так оплатит их собственный вуз".

          А вообще, если задуматься о выражении "аффилированные стороны" в контексте обсуждаемой нами темы, то могут возникнуть весьма интересные гипотезы :).

          P.S. Углубляться дальше в эту деликатную тему я не намерен.

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

            Мы в 1%, значит. Нам никто не оплатил бы Петрозаводск, а сейчас мы бы искали спонсоров для поездки на финал — точно так же, как некоторые финалисты от SEERC в прошлом году. Хотя да, к финансированию СП в России это вроде не относится.

            Да, я догадываюсь, что в России с этим дела обстоят немного иначе.

            P.S. В прошлом году поездку на онсайт оплачивал Яндекс, или она была за счет участников?

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

              Мы в 1%, значит.

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

              P.S. В прошлом году поездку на онсайт оплачивал Яндекс, или она была за счет участников?

              Оплачивал Яндекс.

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

Можно попробывать.

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

Will you send reminders before every round?

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

Обновите Mono, пожалуйста. Используемой сейчас версии 5 лет уже =/

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

Пытался вспомнить какой у меня там аккаунт на Яндексе

@

Случайно взломал аккаунт какого-то Никиты Рипатти из Перми...

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

    ...тем временем в Яндексе:

    -- Так, уволить безопасников! И нанять Рипатти. Только не перепутайте, правильного Рипатти!

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

Where will be the final round take place?

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

В правилах написано "К участию не допускаются организаторы конкурса, сотрудники Яндекса или аффилированных компаний, а также их близкие родственники"

А в положении о конкурсе написано "6.7. Сотрудники Организатора и аффилированных с ним компаний, иные задействованные в организации Конкурса лица, а также члены их семей могут стать Участниками, но не могут претендовать на выход в финал Конкурса и получение призов."

Чему верить?

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

    Второму, вероятно, т.к. всегда можно с фейкового акка сыграть и никто никогда об этом не узнает.

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

А почему я на главной странице вижу большую кнопку "Зарегистрироваться", хотя я уже зарегистрирован? И вообще, факт того, что я зарегистрирован, на сайте никак не показывается.

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

Контест начался — "у вас нет прав просматривать это соревнование" :(

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

"У вас нет прав просматривать это соревнование"

Это нормально?

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

Why am not I allowed to enter warmup round?

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

Оказалось, проблема с запретом на просмотр не только у меня.

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

Кнопка, по которой смотреть задачки, появилась с опозданием в пару секунд. И она не работает!!! Пишет, что у меня нет прав на просмотр данного соревнования.

UPD: Стало лучше: "Соревнование завершено. Отправка решений запрещена". Теперь хоть можно с чистой совестью идти спать, а не искать способ хотя бы прочитать задачи.

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

We will start the round at 22:10, thank you for your patience

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

Лида, что делать?

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

Всё, контекст закончился.. кто не успел, тот опоздал))

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

Как быстро закончился!

"The contest is over. Submissions are not allowed"

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

А соревнование тем временем завершено))

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

Мне кажется или самая сложная задача контеста, это добраться до задач?

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

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

My friend says he can see the problems but all I get is "The contest is over. Submissions are not allowed". Sounds quite unfair?

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

Я вижу это "Соревнование завершено. Отправка решений запрещена".

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

По-прежнему "Соревнование завершено. Отправка решений запрещена" хотя уже 22:13

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

Можно сделать разминочный раунд виртуальным 24-часовым — и все будут счастливы и не будут до ночи решать задачи :)

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

Позор для Яндекса :)

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

Отправил запрос через "Обратная связь" — пока тишина. Кому-нибудь поддержка ответила?

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

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

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

Кажется уже починили.

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

The countdown timer is shown now.

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

Now it says the contest will start in 3 minutes, but my friend sent me a picture of the statement already... Gonna be a fair competition I see!

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

I saw problem A and started coding it but now it says the contest has not started yet. =.=

»
11 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -7 Проголосовать: не нравится

Ваше решение отправить не удалось. UPD: У вас нет прав просматривать это соревнование.

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

У вас нет прав просматривать это соревнование

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

Снова "У вас нет прав просматривать это соревнование"

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

Just when you thought it's all going well — "You are not allowed to view this contest".

I'm getting Bayan flashbacks here :\

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

Можно по обсуждать первую задачу пока не исправят сервер :)

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

так не интересно :(

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

Даже условие загрузить не успел :(

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

В Yandex код вообще тестируют, или сразу в production?

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

3 май 2015, 22:32:36

Соревнование завершено. Отправка решений запрещена

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

What can I do sometimes ?!!!!!

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

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

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

"Ваше решение отправить не удалось"

?????

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

"Ваше решение отправить не удалось"... Вроде же Яндекс контест работал хорошо раньше. Как его так сломать то умудрились? :)

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

Whenever I try to submit a solution, it tells me:

"Your solution was not submitted."

Help?

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

I can't submit my c++ solution for A. Any clue? :D

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

Problem B is identical to a problem from Canadian OI, with minor changes to the statement and identical input format/sample data:

http://wcipeg.com/problem/ccc03s2p3

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

Верните кнопку отправить вслепую :)

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

Huge thanks for everyone who stayed with us until the normal flow of the round. We'll make sure that Qualification round on May 17 will run smoothly.

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

А на что ты готов ради футболки ?! :)

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

Разбор будет?

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

Как решать задачу С и D?

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

    Отражаете одну из точек относительно y=0 и выводите квадрат длины отрезка между точками.

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

    Переставить и, при надобности, отразить от оси Ox точки так, чтобы они были по разные стороны от Ox, тогда это просто расстояние между двумя точками, которое без корня вычисляется.

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

    Отразить точку B относительно оси абсцисс и найти квадрат расстояния между точками.

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

    D: сортируем массив и считаем гистограмму количества каждого числа. Минимальный ответ = размер гистограммы — 1. (количество различных чисел — 1)

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

    • »
      »
      »
      11 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +3 Проголосовать: не нравится
      n - общее количество чисел
      maxVal - максимальное количество одинаковых чисел
      ans - максимальный ответ 
      
      если (maxVal <= n/2)
       ans = n - 1;
      иначе 
       ans = (n - maxVal) * 2;
      
  • »
    »
    11 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    Обозначим точку, первую точку через A, а вторую точку через B. Отразим точку B симметрично относительно прямой y = 0 и получим точку B. Тогда из любого пути AKB (K – это некоторая точка на прямой y = 0) можно, отразив симметрично относительно абциссы его участок BK, получить равный ему по длине путь AKB'(т.к KB' = KB), длина которого по неравенству треугольника не меньше AB'. Значит ответ это квадрат расстояние между A и B'.

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

How to solve C ?!

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

А как решать А? Столько жадностей перепробовал :)

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

How to change the country flag that is shown to the right of my name in the standings?

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

Кто же получили футболки?

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

Как B решать?

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

    Лень регистрировать на яндекс контест, чтобы проверить идею (Может, найдется не ленивый и добавит в Тренировки?), но, кажется, такое должно пройти: проверяем все детали куба на возможность сдвинуть на одну клетку в любом направлении. Если получилось хоть с одной(хотя бы с одним направлением) — непрочный, иначе — прочный.

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

    Прикладываем силу во все 6 сторон к каждому кубику и смотрим, какое количество кубиков при этом сдвинулось. Если оно меньше, чем общее количество кубиков, то куб непрочный, если равно, то прочный.

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

Как вы решали Е про коней? Почему там бфс валится?

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

А кто получил футболки так и не отписали

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

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

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

I can't wait more for the editorial. Can anyone give the accepted code for problem A? Thanks.

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

Sooo, who are the t-shirt winners ?!

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

Каждый раз, когда жюри не пишет авторские решения на джаве, в мире грустит один котик.

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

I couldn't understand open/blind submission. What is difference ?! What are advantages of open/blind. Does blind mean : "I don't need feedback" or sth else ?!

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

Where can I solve previous Yandex contests?
(of last year and last to last year)

EDIT-1 : Found 2014 in GYM

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

Is there public standings page?

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

Вот в правилах сказано:

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

То есть получается, чем в большем количестве раундов ты участвовал, тем лучше? Как-то это странно. Или можно участвовать в одном раунде? Не все же могут поучаствовать в утреннем раунде.

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

Можно ли кеш поменьше сделать для таблички результатов?

После сдачи задачи нужно ждать 1-2 минуты, чтобы он обновился.

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

Huh, memory limit is 64Mb ; o? Kinda completely missed that, I haven't seen such small memory limit as a standard limit for some time and it costed me one problem ; d.

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

My first submission stayed with the "waiting" status for about half an hour and I had a stupid bug that I had to wait half an hour to correct. I hope this doesn't happen in the Elimination rounds.

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

А про футболки с тренировочного так в письме и не сказали(кто получил и т.п.)

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

Top 512 participants according to the cumulative result of all three elimination stage rounds will receive a contest T-shirt. what does it mean "cumulative result",there is 3 round,and in each only top 30 user can earn points,3*30=90 and how 512? pls some1 explain me

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

А где можно поменять имя, отображаемое в таблице результатов?

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

What is the solution for Problem B — Optimal Playlist ?

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

Ah, missed qualification again.

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

Can someone give some hints for problem C? Thanks.

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

А была уже какая-то информация о футболчках? А то я, как оказалось, при регистрации ввел не тот email.

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

How to solve E problem ?!

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

I'm still unable to understand what Problem B was. Can someone please explain the output of the sample case or any other case?

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

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

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

А таблица будет видна тем, кто не участвует?

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

Couldn't understand the purpose of problem X — Fake testing problem.

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

How to solve problem B (Elimination round 1)?

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

How to solve Problem F — To Saw or Not to Saw?

I got 2 formulae by using similarity of triangles:

  • d * (c - a) / c, when >
  • b * (a - c) / a

Got WA on testcase 3.

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

    ans = gcd(a, c) * min(b / a, d / c)

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

      It may sound really stupid.. but how can one get to this formula?

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

        Let me rewrite it a bit:

        ans = gcd(2a, 2c) / 2 * min(b / a, d / c)

        The first part d = gcd(2a, 2c) comes from the following observation. Let's assign integer numbers to each peak of the saws and let's put two saws so that 0-th peak of the first saw will be exactly above the 0-th peak of the second saw and denote this coordinate as X = 0. If you plot the rest of the peaks then peaks of the first saw will have coordinates xi = 2a * i for each integer i, similarly peaks of the second saw will have coordinates yi = 2c * i. Then you plot all those peaks as points on X-axis and the question is what is the smallest distance of first saw peaks and second saw peaks. In other words what is the min(dist(xi, yi)) = min(abs(2a * i - 2c * j)) for any integer i and j. If you solved enough number theory problems it will be clear to you that this is equal to d = gcd(2a, 2c) = 2·gcd(a, c).

        Now you have this d number. If you plot peaks again you should see that the optimal solution would be to move one of the saws d / 2 units left or right and then move them towards each other as much as possible. How much you will be able to move it depends on the "sharpness" of the saw's teeth (i.e, b/a ratio). Then if you know d already the result is simply l = d / 2 * b / a. Then you replace b / a with min(b / a, d / c) because you need to consider the case when first saw has "sharper" teeth.

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

    well and if a = c ? I put min(b,d) but it's WA on 4th

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

D решил, B не решил. Нормально.

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

Just my luck. Picked the weird looking problem earlier on only to realize there was an easier one waiting. Started solving and couldn't submit by 5 seconds. Submit in upsolving mode and get Accepted.

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

Как решали задачу B?

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

    Задача с очень боянистой (но не очень приятной для кодинга) идеей

    Искомая прямая "почти" проходит через две любые точки (то есть она как бы проходит, но сдвинута на epsilon).

    Решение за O(N3). Перебираем две точки, образующие прямую, для всех остальных смотрим с какой они стороны. Наши две точки пробуем кидать 4-мя способами в одну из двух сторон. Вероятно, это ТЛ, но помагает понять АС идею.

    Решение за O(N2logN). Перебираем первую точку, остальные сортируем по углу относительно нее. Далее интересующие нас суммы можно пересчитывать двумя указателями.

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

Топ 3 сдали задачу в последние две минуты. Хорошо, что я рефрешил таблицу без чая во рту.

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

Can someone start a new thread with editorial to the problems of Elimination Round 1.
I think I can learn a lot from the editorials of this round. Problems were a lil tough for a beginner like me.

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

B — избитый баян. Сколько она мне попадалась, столько я и сидел весь контест дебажил. В итоге не сдал.

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

А почему нельзя было в контесте хотя бы одну утешительную задачу сделать? Все-таки первый раунд, не финал :)

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

My code (for Elimination Round 1 problem E) gets TLE in test 9 with 2.093s. How can I improve it? What's the problem?

Thank you in advance!

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

Кстати, теперь все раунды должны быть такой же сложности, иначе в борьбе за футболочку возникнет несправедливость

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

    Почему? Раунды же суммируются. Разве что несправедливость в зависимости от таймзоны.

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

      Ну да, я это имел в виду. Те, кто пропустят более легкий раунд, окажутся в выигрыше по сравнению с теми, кто пропустят более тяжелый

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

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

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

    Таким ходом организаторы убьют сразу двух зайцев: 1) обеспечится турнирная справедливость 2) уменьшатся расходы на футболки ;)

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

My opinion is that problemset was very nice! C, D and F were very interesting in my opinion! B and E were also OK. Unfortunately A was tedious, any deeper thought, just a lot of cases to consider.

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

    You can write A with almost no special cases

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

      How? My solution has about 10 ifs.

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

      OK, that sounded like a challenge, so I went for it and managed to get this accepted by this code: http://ideone.com/kFdFxb It doesn't contain that many ifs (only 5), but it is still tedious >_>... I think that analysis of those cases is nonomittable (case when cur_wid == l[hor] is especially nasty xd) and if you have more elegant solution I would like to see it.

      During contest I didn't give that task a deeper thought, because I haven't even read it, because in half of the contest I have to made a choice which problem to do next — A, C or D. A had least amount of ACs within top people (but now I see that it had much more ACs that time :d) and had longest description, so I disregarded A and choose D since I quickly got and idea how to do this. After contest I thought that it's all about cases, so I didn't think about this much :P.

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

    Are you implying that you haven't seen about 10 problems which are basically equivalent to B? Those half-plane things appear over and over and over again.

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

      Uh, OK, indeed it is not very innovative problem, but at least there was not anything which will cause me to complain about something, for example no restoring result, no collinear points etc.

»
11 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +37 Проголосовать: не нравится

For problem C,I find the fomula: dp[n][k]=dp[n-1][k-1]*(n-k+1)+dp[n-1][k]*k (1<k<n) using bruteforce.But what's the logistic in it?

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

    (I guess that you meant problem C). Don't tell me that it's true :o!? That looks very mysterious for me. I got AC (after contest) using much more complicated DP with n^3 states, some binomials and stupid trick allowing me to fit in O(n^2) space ;__;.

    UPD: Yeah, it looks that it's true, however I don't have time now to wonder why is that. Here's my code: http://ideone.com/GdOSTe but compared to your solution I guess it can be mainly used to make fun of me :P.

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

      Can you explain more about your idea?I really can't understand it.

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

        I consider similar type of game. When we delete only the smallest card, not smallest or largest. Observe that game when there are n cards and we want to end up with k-th card is a sum of two independent games of that type (one with cards 1..k, one with cards k..n) when we delete last card in turns of the same number — this is key observation to whole solution (one of them (k..n) is reversed, that means that we delete the largest card instead of the smallest one).

        Given that I compute dp[a][b][c] which tells how many of such games are that we are given a cards, largest card is on b-th position and we delete it c-th moment we see it. pref[a][b][c] = sum dp[a][1..b][c]

        Fitting in O(n^2) space is little tricky. Given formulas for dp I can compute dp for dp[a][..][..] given only dp[a-1][..][..], I do not need previous values of a, but when counting answer I have to combine games of sizes k and n-k+1, so I either need to separately count this for dp[k] and run everything once again for dp[n-k+1] or observe that analogous property holds for number of checks and when combining games I always combine two games with the same number of checks (I used second approach).

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

    This formula is also number of permutations with k-1 rises (position such that a_i < a_i+1). It's easy to see why it's correct but I still haven't found connection between that and C problem. Maybe there is a bijection?

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

Как решать D?

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

    Понятно, можно считать l = 0.

    Будем набирать x начиная с младших битов (они идут справа налево). Рассмотрим немного неправильное решение: динамика dp[сколько разрядов прошли][верно ли, что готовый суффикс числа x  ≤  суффикса r][есть ли перенос при сложении k + n]. Проблема такой динамики, что она считает количество подходящих k, а не x.

    Тогда сделаем так: dp[i][gr][маска переносов (1, 2 или 3)] -- сколько таких x, что их можно получить на таком суффиксе, при этом они будут больше/не больше соответствующего суффикса r и все переносы, которые вообще возможны при получении такого x записаны в маске. Тогда все x разбились на не пересекающиеся классы.

    Переход -- перебрать следующий разряд x, внутри перебрать возможные остатки, посчитать новые возможные остатки.

    Код

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

    Я решил так. Перепишем уравнение в виде (k XOR x) — k = n. Пусть x = 2a1 + 2a2 + ... + 2am — двоичное разложение. Тогда возможные значения левой части — это ±2a1±2a2±...±2am. (Остальные биты от ксора с иксом не меняются, а эти m меняются либо с 0 на 1, либо с 1 на 0.) Если обозначим через a сумму членов с плюсом, а через b — с минусом, то условие перепишется так: a-b=n, a+b=x, a&b=0. Или, избавляясь от переменной a, b&(n+b)=0, x=n+2b. Последнее условие нам дает ограничение на b (x<=r <=> b <= (r-n)/2). То есть нам нужно найти f(n, b) = количество b<=r таких, что b&(n+b)=0.

    Будем строить b начиная с младшего бита. Если n=2n' четно, то и b должно быть четно (=2b'), и при этом n'&(n'+b') = 0, то есть получаем f(n, r) = f(n', r') = f(n/2, r/2). Если же n нечетно, то младший бит в b может быть как 0, так и 1. Аналогично разбирая эти 2 случая, получаем f(n, r) = f(n/2, r/2) + f(n/2 + 1, (r-1)/2). (Деления целочисленные; +1 во втором слагаемом из-за переноса разряда.)

    Тут можно заметить, что 2 рекурсивных вызова в последнем равенстве очень похожи (весьма вероятно, что на следующих уровнях рекурсии они будут вызывать f с одинаковыми параметрами). Кроме того, если n оканчивается на много единиц (плохой случай — много ветвлений), то n/2+1 заканчивается на много нулей (хороший случай — нет ветвлений). В общем, у меня зашла рекурсия с мемоизацией всего за 2 миллисекунды: http://pastebin.com/C1vBnHFs

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

this was hard