Проблема з вибором піци Вінклера:
- Круглий пиріг для піци з
n
шматочків, де шматочокi
має площу,S_i
тобто площа для кожного шматка пирога. - Пожирачі Еліс та Боб по черзі збирають скибочки, але грубо створювати кілька прогалин у пирізі (вважайте, що це не дозволяється).
- Таким чином, кожен їдець має обмеження приймати один з двох скибочок, прилеглих до відкритої області. Аліса йде першою, і обидва їдці шукають якомога більше пирога.
Як би алгоритм динамічного програмування визначав, скільки їсть пиріг Аліса, якщо і Аліса, і Боб грають ідеально, щоб максимально споживати свою піцу?
Моє розуміння:
У загальній проблемі з DP ми продовжуємо пошук підзадач, які можна візуалізувати за допомогою дерева рекурсії або, більш чітко, за допомогою DAG. Тут я не знаходжу жодного приводу, щоб знайти підпроблеми тут.
Тут, для заданого набору S_i s, нам потрібно збільшити площу скибочок, з'їдених Алісою. Це залежатиме від вибору перестановки шматочків піци з (n-1) перестановок. Вибираючи зріз максимальної площі з двох варіантів, доступних у кожні n \ 2 витків, які отримує Аліса, ми отримаємо загальну площу зрізу для перестановки. Нам потрібно знайти область зрізу для всіх таких перестановок. І тоді максимум із них.
Хтось може мені допомогти, як рухатись вперед?