UVA 10891 Game of Sum (决策优化)
2024-09-08 15:12:58
这是一个零和博弈,最高得分只和序列以及谁先手有关。
d[i][j],表示i到j的序列当前取的这个人的最高得分,转移以后状态是新的区间和另一个人取,从中取最小值。
决策的最小值也可递推。
#include<bits/stdc++.h>
using namespace std; const int MX = ;
int d[MX][MX],f[MX][MX],g[MX][MX];
int sum[MX]; //#define LOCAL
int main()
{
#ifdef LOCAL
freopen("in.txt","r",stdin);
#endif
int n;
while(scanf("%d",&n),n){
for(int i = ; i <= n; i++){
scanf("%d",sum+i);
}
for(int i = ; i <= n; i++){
g[i][i] = f[i][i] = d[i][i] = sum[i];
sum[i] += sum[i-];
}
for(int L = ; L < n; L++){
for(int i = ; i+L <= n; i++){
int j = i+L;
d[i][j] = sum[j] - sum[i-] - min(,min(f[i+][j],g[i][j-]));
f[i][j] = min(d[i][j],f[i+][j]);
g[i][j] = min(d[i][j],g[i][j-]);
}
}
printf("%d\n",(d[][n]<<)-sum[n]);
}
return ;
}
最新文章
- 学习MySQL之数据类型(四)
- 「Unity」与iOS、Android平台的整合:2、导出的Android-Eclipse工程
- [Virtualization][SDN] VXLAN到底是什么 [转]
- 【原创】Android开发使用华为手机调试logcat没有应用输出信息
- kindeditor在sae上传文件修改,适合php
- js对象中什么是可枚举性(enumerable)?
- centos下一个bash: XXX: command not found解决方案
- Ajax的简单实用实例
- shell 脚本——判断条件
- vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用
- jquery计算时间差(天、时、分、秒)并使用定时器实时获取
- Hadoop HDFS 的 HttpFS
- Beta 冲刺 四
- YII框架分析笔记2:组件和事件行为管理
- Log4j常用配置及使用
- scrum立会报告+燃尽图(第三周第五次)
- 为啥final类型的map或者arraylist可以修改数据 而final类型的String变量不可以修改数据呢
- 爪哇国新游记之一----第一个类Cube
- 【数位dp】bzoj1799: [Ahoi2009]self 同类分布
- CAD交互绘制虚线(网页版)