Winkler의 피자 따기 문제 :
n
슬라이스 의 원형 피자 파이 . 슬라이스i
가 면적을 갖는 경우S_i
, 즉 면적은 각 파이 조각마다 다릅니다.- 먹는 사람 앨리스와 밥은 교대로 조각을 따지 만 파이에 여러 개의 간격을 만드는 것은 무례합니다 (허용되지 않는 것으로 간주).
- 따라서 각 먹는 사람은 개방 된 영역에 인접한 두 조각 중 하나를 섭취하도록 제한됩니다. 앨리스가 먼저 가고 두 먹는 사람은 가능한 많은 파이를 찾습니다.
Alice와 Bob이 피자 소비를 극대화하기 위해 완벽하게 플레이한다면 동적 프로그래밍 알고리즘이 Alice가 먹는 파이의 양을 어떻게 결정합니까?
내 이해 :
일반적인 DP 문제에서 우리는 재귀 트리를 사용하거나 더 엄격하게 DAG를 사용하여 시각화 할 수있는 하위 문제를 찾는 것으로 진행합니다. 여기에서 하위 문제를 찾을 수있는 리드를 찾지 못했습니다.
여기에서 주어진 S_i 세트에 대해 Alice가 먹는 슬라이스 영역을 최대화해야합니다. 이것은 (n-1) 순열 중 피자 조각 순열을 선택하는 것에 달려 있습니다. 앨리스가 얻을 수있는 모든 n \ 2 회전에서 사용 가능한 두 가지 옵션 중에서 최대 영역 슬라이스를 선택하면 순열에 대한 슬라이스의 전체 영역이 제공됩니다. 이러한 모든 순열에 대해 슬라이스 영역을 찾아야합니다. 그리고 그 중 최대 값.
앞으로 나아가는 방법에 대해 누군가 나를 도울 수 있습니까?