硬币游戏

本文介绍了Alice和Bob玩的硬币游戏,他们轮流从一摞硬币中取出1到2枚,目标是使自己拿到的硬币价值最大化。面对聪明的Bob,Alice需要找出自己在先手的情况下能获取的最大价值。游戏有5到2000枚硬币,每枚价值1到100000。通过动态规划方法,可以求解Alice能获得的最大价值,状态转移方程为dp[i] = max{a[i]+Σa(1->i-1)-dp[i-1], a[i]+a[i-1]+Σa(1->i-2)-dp[i-2]}。" 81947511,7467461,Python GUI编程:Tkinter快速入门,"['Python', 'Tkinter']
摘要由CSDN通过智能技术生成

Alice和Bob发明了一种新的两人游戏。最初,地面放置有一摞共n个硬币( 5 <= n <= 2000 ),从上面数第 i 个硬币的价值为C​​i( 1 <= Ci <= 100000 ),游戏开始后,由Alice先拿走最上层的一枚或两枚硬币,之后Bob再选择拿走最上层的一枚或两枚硬币,两人依此规则交替拾取硬币,当没有硬币可取的时候,游戏就结束了。两个人都希望自己拿到的硬币的价值和尽可能的大。因为Bob非常聪明,现在,Alice希望知道在假设Bob每次都会选择最佳策略时,Alice自己能够拿到的最大价值和是多少?

输入:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值