取数游戏:
2016-08-09 15:02
155 查看
有如下一个双人游戏:2*N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,A、B两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜(得分相同时A胜,A先取).试求:
1.使得A方必胜的取数策略;
2.如何取数,才能使得A方与B方所得的数字总和之差最大?(提示:A、B双方都在想方设法取胜)
输入样例:
4 7 2 9 5 2
输出样例:
A:18
B:11
1.必胜策略:
对于2n个数,S奇表示奇数位置上的数之和, S偶表示偶数位置上的数之和,则:
S奇>=S偶,S偶>=S奇必有一个成立.
假设S奇>=S偶,A取奇数位置上的数字,则B只能取偶数位置上的数字,直至取完所有的数字.
2.定义f[i,j]表示从第i到第j个数中先取数的人能获得的最大得分,则:
先取第i个,f[i,j]=Ai+Si+1···j-f[i+1,j]=Si···j-f[i+1,j];
先取第j个,f[i,j]=Aj+Si···j-1-f[i,j-1]=Si···j-f[i,j-1];
f[i,j]=max{Si···j-f[i+1,j],Si···j-f[i,j-1]},(1<=i
1.使得A方必胜的取数策略;
2.如何取数,才能使得A方与B方所得的数字总和之差最大?(提示:A、B双方都在想方设法取胜)
输入样例:
4 7 2 9 5 2
输出样例:
A:18
B:11
1.必胜策略:
对于2n个数,S奇表示奇数位置上的数之和, S偶表示偶数位置上的数之和,则:
S奇>=S偶,S偶>=S奇必有一个成立.
假设S奇>=S偶,A取奇数位置上的数字,则B只能取偶数位置上的数字,直至取完所有的数字.
2.定义f[i,j]表示从第i到第j个数中先取数的人能获得的最大得分,则:
先取第i个,f[i,j]=Ai+Si+1···j-f[i+1,j]=Si···j-f[i+1,j];
先取第j个,f[i,j]=Aj+Si···j-1-f[i,j-1]=Si···j-f[i,j-1];
f[i,j]=max{Si···j-f[i+1,j],Si···j-f[i,j-1]},(1<=i
相关文章推荐
- noi 9265 取数游戏
- 洛谷P1288 取数游戏II
- 【bzoj1978】 BEIJING2010 取数游戏 game dp优化
- bjoi 2010 取数游戏 动态规划
- 【贪心】取数游戏
- 1978: [BeiJing2010]取数游戏 game
- wikioi 1037 取数游戏
- 计蒜客 取数游戏 博弈+dp
- 【计蒜客】取数游戏
- 洛谷1123 取数游戏
- bzoj1978 [BeiJing2010]取数游戏 game DP
- bzoj 1978: [BeiJing2010]取数游戏 game -- dp
- 南邮 OJ 1404 取数游戏
- 洛谷P1288 取数游戏II[博弈论]
- 9265:取数游戏
- 【计蒜客】取数游戏
- bzoj 1978: [BeiJing2010]取数游戏 game 数学
- 取数游戏-动态规划
- 一个关于“取数问题”的游戏
- 洛谷 P1288 取数游戏II