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

Автор furious, 12 лет назад, По-русски
  • Проголосовать: нравится
  • -4
  • Проголосовать: не нравится

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

Найдём заказ, в котором 1 лист самый дешёвый и будем брать этот заказ пока можем. После этого останется не больше 107 листов и можно написать динамику.

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

    Все проще. Давайте улучшим наши значения так, во-первых заменим a[i] на min(a[i]..a[7]). После этого заменим a[i] на min(a[i], 10 * a[i - 1]). Теперь утверждается, что стоимость каждого типа оптимальна. Теперь поокругляем N в большую сторону до единиц, десятков, тысяч и так далее. И для каждого такого числа жадно набираем заказы, затем выбираем минимум.

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

      да, круто, спасибо)

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

        а комибинировать типы разве не надо?

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

          А что по-вашему означает "жадно набирать заказы"? Ровно то, что сначала набираем миллионы, потом сотни тысяч и тд.