Розбір
Автор задачі: | Антон Ципко |
Задачу підготував: | Марко Гришечкін |
Розбір написали: | Марко Гришечкін та Антон Ципко |
Блоки 1-3
Відсортуємо хмарочоси у порядку зростання (незростання) краси поверхів. Будемо розв'язувати задачу за допомогою динамічного програмування. Нехай — максимальна можлива сума, якщо розглядати лише перші хмарочоси. Тоді
Відповідь буде у .
Блок 4
Відсортуємо хмарочоси у порядку зростання (незростання) краси поверхів. Якщо побудувати хмарочоси саме в такому порядку, то сумарна краса поверхів буде максимально можливою.
/textbfДоведення: нехай "— максимальна висота серед усіх хмарочосів. Для будь-якої висоти від до з хмарочоса Вуса на такій висоті буде видно рівно один поверх одного з хмарочосів. Доведемо, що при такому порядку хмарочосів, для довільної висоти , з хмарочоса Вуса буде видно поверх з максимальною красою. Цей поверх належить першому зліва хмарочосу з висотою більшою або рівною . Через те, що ми відсортували хмарочоси за красою, то цей хмарочос має найбільшу красу серед усіх хмарочосів з висотою більшою або рівною .