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

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

Очередной, 580-тый, матч-из-одного-раунда пройдет в субботу в 20:00 MSK (12:00 EDT).

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

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

Спасибо, чуть не пропустил ;)

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

Ни у кого в последнее время не возникало проблем с ареной, например, что приходится ее перекачивать перед каждым SRMом?
И вообще, как побороть Unable to run application, если даже перескачав ее запустить не выходит?

PS: что то еще надо было, кроме jdk и jre, что бы запускать java-приложения?

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

Ну сколько ж можно делать 1000 проще 600... Один раз шутка нормальная, 2 раза — более или менее, но в 100500ый раз уже бесит.

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

    Неправда, 600 халявная, а 1000 я еще не умею решать.

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

      Кому халявная, а кто 20 минут тупил и не мог придумать... В 1000 конечно геморрой с деталями, но что надо в принципе делать — понятно сразу.

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

    Чем же она проще?

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

      Постфактум конечно 1000 попадала; но если бы не последний семпл, 600 попадала бы гораздо больше. В любом случае, ИМХО 1000 straight-forward, в отличие от 600 (допускаю, что это только мне так кажется; я в 600 сначала пытался делать совсем странные вещи, не имеющие ничего общего с правильным решением).

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

    Как обе решать?

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

      600:

      Посчитаем динамику dl[i]. Значение — минимальное количество репостов, которое нужно, чтобы все зайцы, хотя бы одной точкой лежащие левее точки i, знали некоторое сообщение, сейчас известное в точке i. Для одного i это делается жадно за линию. Теперь заметим, что нам нужно считать эту динамику не для всех i, а только для тех, которые являются левым концом какого-то из отрезков, поэтому все вместе считается за квадрат. Аналогично посчитаем dr[i].

      Теперь для каждого зайца ответ считается так. Либо мы жадно набираем отрезки справа и слева по отдельности, тогда ответ — dl[l[i]] + dr[r[i]]. Либо сначала добавляем какой-то отрезок (l', r'), а уже после этого набираем жадно. Тогда ответ — dl[min(l[i], l')] + dr[max(r[i], r')] + 1.

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

      Я в итоге 600 сделал так: понятно, что для каждого человека можно решать задачу "все должны его увидеть" независимо. Будем решать задачу для 1 человека (назовём его Васей). Если Вася стоит скраю справа (ну или слева), то понятно, что надо просто жадно: ретвитить его человеком с самой правой правой границей, который может поретвитить, повторять это, пока все про него не узнают. Казалось бы, для произвольного человека можно запустить то же самое влево и вправо, но это неверно (правда, на это был семпл-тест; посмотрел бы я на статистику по этой задаче без семпл-теста). Неверно это потому, что бывают люди, полностью накрывающие Васю, и выгодно поретвитить одним из них, сделав сразу шаг налево и направо. Этот случай обрабатывается правильным порядком перебора "Вась" и сохранением посчитанных ответов.

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

    У меня другое замечание: Сколько можно делать 550-600? Даёшь нормальную 500-ку!

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

А у всех 1000-ая упала на отсутствии перехода, что второй может не мешать сразу, как мы спустились на уровень?

Если что решение.

Утверждение. Если нам дают идти вниз, то надо идти вниз. Потому что заставить выйти именно здесь нас всегда смогут. Тогда на каждом уровне динамика по подотрезку уже запрещенных и концу на котором мы стоим.

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

Could someone please explain to me Division 2, 500 ?

Waht I understood is that since they all move at the same speed, we can consider them to be still and we have to pick 2 positions where the total will be the maximum.

I am not sure however how I can pick those 2 positions. I was thinking to iterate over the tails but not sure if that would be optimal or why.