Изменения

Перейти к: навигация, поиск

Convex hull trick

549 байт добавлено, 00:35, 18 января 2017
Пример задачи, решаемой методом convex hull trick
==Пример задачи, решаемой методом convex hull trick==
Рассмотрим задачу на ДП:
{{Задача|definition = Есть n деревьев с высотами <tex>a1, a2, \dots an</tex> (в метрах). Требуется спилить их все, потратив минимальное количество монет на заправку бензопилы. Но пила устроена так, что она может спиливать только по 1 метру от дерева, к которому ее применили. Также после срубленного метра (любого дерева) пилу нужно заправлять, платя за бензин определенной кол-во монет. Причем стоимость бензина зависит от срубленных (полностью) деревьев. Если сейчас максимальный индекс срубленного дерева равен i, то цена заправки равна ci. Изначально пила заправлена. Также известны следующие ограничения : <tex>c[n] = 0, a[1] = 1, a[i]</tex> возрастают, <tex>c[i]</tex> убывают. Изначально пила заправлена.
(убывание и возрастание нестрогие)
}}
</noinclude>
<includeonly>{{#if: {{{neat|}}}|
<div style="background-color: #fcfcfc; float:left;">
<div style="background-color: #ddd;">'''Задача:'''</div>
<div style="border:1px dashed #2f6fab; padding: 8px; font-style: italic;">{{{definition}}}</div>
</div>|
<table border="0" width="100%">
<tr><td style="background-color: #ddd">'''Задача:'''</td></tr>
<tr><td style="border:1px dashed #2f6fab; padding: 8px; background-color: #fcfcfc; font-style: italic;">{{{definition}}}</td></tr>
</table>}}
</includeonly>
(Задача H отсюда : http://neerc.ifmo.ru/school/camp-2016/problems/20160318a.pdf)
Анонимный участник

Навигация