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

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

Сегодня в 21:00 мск состоится SRM 535. После матча тут по традиции можно обсудить задачи.

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

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

Как решать вторую(div 1)/почему капитанское решение неверно?

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

    Потому что надо отучиваться от привычки писать первое что не можешь сходу опровергнуть.

    Решение. Пусть ответ  ≤ А·totalWork.

    Тогда Тогда .

    Ну а здесь уже жадность брать K максимальных по ai·(A - pi), очевидно работает.

    Сделали бинпоиск по А.

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

    Если я правильно понимаю что такое капитанское, то оно валится тестом n=3, k=2, totalwork=2, a={1,90000,1}, p={1,90000,100000}, ответ — 107201 (надо отработать 1 и 3-ему, хотя на первый взгляд 3-ий хуже 2-ого).

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

500 Div 1: жадность заходит, или нет?

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

    У меня почелленджили

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

    Зависит от того, что называть жадностью. Самая тупая не проходит (у меня тоже почелленджили).

    Соль в том, что жадная оценочная функция вроде бы неверная — из-за приписки о том, что все должны работать поровну в плане времени.

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

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

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

Похожая на 1000 была на зимней школе в Харькове. Те, кто ее сдали, писали решение за O(S * S * W)?

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

    Ого, на какую? Я что-то не могу вспомнить.

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

      Ну там на коротком контесте Антона Лунева была задача, где динамика пересчитывалась примерно как f(x) = k * f(x - 1) + (k - 1) * f(x - 2) + ... + f(x - k + 1). Здесь вроде бы не тяжелая динамика за O(S3W), в которой примерно такой же переход, который так же оптимайзится до O(S2W).

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

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

    Я умею решать за O(S4 + WH), но не успел написать.

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

Помимо того, что я не придумал правильное решение в 500, я еще и затупил в харде — зачем то степени S брал вместо S + 1. В итоге вместо ~5го места сейчас окажусь в конце второй сотни

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

Как решать 1000?

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

    Ну, есть очевидная динамика с O(SWH) состояний и O(S2WH) операций. Так как переходов вниз не более S, то она превращается в O(S2W) состояний и O(S3W) операций. А дальше надо пересчет сделать за O(1), для этого надо предподсчитывать суммы вида ans[i][j][k] + 2 * ans[i][j][k-1] + 3 * ans[i][j][k-2] + ...

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

      Я умею оптимизировать очевидную динамику до O(S^2*(W+H)), пользуясь тем что матрицы перехода вниз и вправо коммутируют. Failed systests из-за неразобранного случая 1x1 :(

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

автор с ником wrong — мечта троллей)