codeforces731E Funny Game(DP)
来源:互联网 发布:php缓存技术有哪些 编辑:程序博客网 时间:2024/06/03 20:43
现在主要是以cf上比赛为主了,以后除了我觉得很有必要总结一下的题目,不会每道题都记录在博客上了。这题是一道DP,看起来很像博弈论,但是其中的思想还是有点新颖的。
题意:
给出一系列数,有两个人,每次从这些数的最左边拿走k个数,范围为2~m。特别之处在于,拿走后会把拿走的数的和作为一个新的数放在最左边,要求两个人拿走数之差的最大值。
要点:
看起来很像博弈论,但是其实不是,因为每次拿走后都会将一个等值的数放回,所以我们可以用a[i]数组存储前i个数的和,然后用f表示最大差,现在已经知道如果第一个人将所有数全部拿走的结果是a[n],这样可以写出状态转移方程为ans = max(ans, a[i] - ans),这里解释一下:我们从前找一个点i,那么就是拿a[i],这样下一步的人就会拿到最大差对应的那个分界点,这样两个人的差即为a[i]-f,可以自己用笔算一下就比较清楚了。
#include<iostream>#include<algorithm>using namespace std;long long a[200010];int main(){int n,x;scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d", &x);a[i] += a[i - 1] + x;}long long ans = a[n];for (int i = n - 1; i>=2; i--){ans = max(ans, a[i] - ans);}printf("%I64d\n", ans);return 0;}
0 0
- codeforces731E Funny Game(DP)
- 【CF 731E】Funny Game(DP)
- CodeForces 731 E.Funny Game(dp)
- 【Codeforces 731E】 Funny Game【dp】
- CodeForces-731E Funny Game(DP+Games)
- Funny Funny Game
- Funny Funny Game(数学题)
- Funny Game
- POJ 2484 A Funny Game(博弈)
- POJ 2484 A Funny Game(规律)
- poj 2484A Funny Game(博弈论)
- POJ 2484 A Funny Game (博弈)
- Gym - 100512F Funny Game(杂题)
- [POJ2484]A Funny Game(博弈)
- poj 2484 A Funny Game (博弈)
- poj2484(博弈论)A Funny Game
- 1087. A Funny Game
- 1087. A Funny Game
- 嵌入式linux基础教程第二版 第二章
- 使用EA画ER图并导出为图片
- 源码解析
- QT5日志功能(qDebug、qWarnng、qCritical、qFatal)
- 关于React的思考
- codeforces731E Funny Game(DP)
- progressbar 自定义 分缓存层 未缓存层 已下载层
- opencv检测绿色物体(高8cm,宽15cm)
- 25.Native和Html5的交互(在anroid中使用html5,实现UI交互和数据显示)
- 日常心得 2016-10-20
- 超级喜欢老罗,2016发布了新手机
- React-建立实时评论应用
- leetcode-410. Split Array Largest Sum
- 【51Nod 1103】N的倍数