uva 10891 sum
来源:互联网 发布:设计游戏需要什么软件 编辑:程序博客网 时间:2024/04/27 19:57
/***************** * Author:fisty * Date:2014-10-25 * uva 10891 *DP *******************/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define MAX_N 110//inputint n;int a[MAX_N];int d[MAX_N][MAX_N], sum[MAX_N];//d[i][j] 原序列i~j的子序列,先手先取取得的最大值int f[MAX_N][MAX_N], g[MAX_N][MAX_N];int main(){ while(scanf("%d",&n) && n){ sum[0] = 0; for(int i = 1;i <= n; i++){ scanf("%d", &a[i]); sum[i] = sum[i-1] + a[i]; } //初始化边界 for(int i = 1;i <= n; i++) g[i][i] = f[i][i] = d[i][i] = a[i]; for(int L = 1;L < n; L++){ for(int i = 1; i+L <= n; i++){ int j = i + L; //j-i = L int m = 0; m = min(m, f[i+1][j]); m = min(m, g[i][j-1]); //d[i][j] = s[i][j] - min{f[i+1][j], g[i][j-1], 0}; 0代表全部取光f从左边取g从右边取 d[i][j] = sum[j] - sum[i-1] - m; f[i][j] = min(d[i][j], f[i+1][j]);//f[i][j] = min(d[i][j], f[i+1][j]); g[i][j] = min(d[i][j], g[i][j-1]); } } // d[1][n] - (s[1][n] - d[1][n]); printf("%d\n", 2*d[1][n] - sum[n]); } return 0;}
0 0
- uva 10891 sum
- uva 10891 Game of Sum
- UVA 10891 Game of Sum
- UVa 10891 Game of Sum
- Uva-10891-Game of Sum
- Uva 10891 Game of Sum
- Uva - 10891 - Game of Sum
- uva 10891 - Game of Sum
- uva 10891 game of sum
- UVA 10891 Game of Sum
- UVa 10891 - Game of Sum
- UVA 10891 Game of Sum
- uva 10891 - Game of Sum
- UVA - 10891 Game of Sum
- uva 10891 - Game of Sum
- uva 10891 - Game of Sum
- UVA 10891 Game of Sum
- UVA -10891 - Game of Sum
- 100层楼2个鸡蛋
- planchas ugg MJ6B bOFB J3CRj
- cheap uggs rOHz xqxl dQKNZ
- Yii2.0的安装与配置教程
- ugg ICNP vWAH mLPT4
- uva 10891 sum
- HDU 1466 计算直线的交点数
- 实现Python HTTP服务方法大总结
- LeetCode 77 Sort Colors
- 同步队列的死锁问题
- 为什么进入Launcher界面之后UART Log就不吐了?
- pragma message的作用
- HEVC专业术语对译
- JavaScript——Array类