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

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

Интересно как решается эта задача. Спасибо.

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

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

Очевидным жадником вначале избавимся от всех с положительной прибавкой к авторитету. Далее требуется придумать некий порядок людей, в котором их выгодно выкидывать. Это то ли сумма, то ли разность a и b, точно не помню, доказывается методом "если они отсортированы в оптимальном ответе не так, докажем, что можно каких-то двух поменять, не ухудшить ответ и уменьшить количество инверсий".

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

Была точно такая же задача "Яма" на ROI. В яме были участники с определённым ростом и длиной рук (могут ухватиться за край ямы), требовалось достать как можно больше.

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

Надеюсь, задача не с какого-то действующего контеста?

Для начала, кэп, что из тех, у кого b >= 0, можно выбирать любого подходящего участника и агитировать его. Дальше, у нас остались только те, у кого b < 0 (остальные с b >= 0 недостижимы и отбрасываются). Их, видимо, надо выбирать в порядке уменьшения a+b.

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

Cпасибо, пытаюсь писать решение. Задача не из какого-то действующего контеста :)

UPD:Сделал как сказал yeputons , менял местами результат и рейтинг. Вот код !!!