温克勒的披萨挑选问题:
- 一片圆形比萨饼饼
n
,其中切片i
有面积,S_i
即每个饼片的面积都不同。 - 食者爱丽丝(Alice)和鲍勃(Bob)轮流采摘切片,但在馅饼中留出多个空隙是不礼貌的(考虑到不允许这样做)。
- 因此,每个食者被限制采取与开放区域相邻的两个切片之一。爱丽丝先行,两个食客都在寻找尽可能多的馅饼。
如果Alice和Bob都能完美地发挥其比萨饼的消费量,那么动态编程算法将如何确定Alice吃多少馅饼?
我的理解:
在一般的DP问题中,我们继续寻找可以使用递归树或更紧密地使用DAG可视化的子问题。在这里,我没有找到任何线索可以找到这里的子问题。
在这里,对于给定的S_i集合,我们需要最大化Alice所吃的切片的面积。这将取决于从(n-1)个排列中选择一个披萨片的排列。在每n \ 2圈内,Alice会从两个可用选项中选择一个最大面积切片,这将为我们提供置换的切片总面积。我们需要找到所有此类排列的切片区域。然后从这些中最大化。
有人可以帮助我前进吗?