UVA - 10891 Game of Sum(记忆化搜索 区间dp)
2015-07-10 00:30
302 查看
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int a[100+10]; int dp[120][120]; int sum[120]; int vis[120][120]; int dfs(int f,int t) { int i,j,k; if(vis[f][t]==1) return dp[f][t]; vis[f][t]=1; int minn=0; for(i=f;i<t;i++) { minn=min(minn,dfs(f,i)); } for(i=f+1;i<=t;i++) { minn=min(minn,dfs(i,t)); } dp[f][t]=sum[t]-sum[f-1]-minn; return dp[f][t]; } int main() { int n; int i,j,k; while(scanf("%d",&n),n) { sum[0]=0; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) { scanf("%d",&a[i]); sum[i]=sum[i-1]+a[i]; } dfs(1,n); printf("%d\n",dp[1] -(sum -dp[1] )); } return 0; }
相关文章推荐
- Laravel学习
- 面试经验
- poj3259 bellman——ford Wormholes解绝负权问题
- Android应用开发 - JAVA环境变量设置 JDK1.6配置
- Implement strStr()
- OC与JS互相调用
- Samba服务器配置
- C++默认构造函数
- DHCP服务器
- Windows Azure之VM的迁移之旅
- poj 3253 Fence Repair 优先队列
- .Net学习笔记----2015-07-10(基础复习和练习07)
- 关于Storm Stream grouping
- Windows Azure AD密码自助重置功能介绍
- 阿里移动推荐算法比赛赛后总结--感受篇
- HANA SQL基础
- 当新手使用JS库遇到问题怎么办
- LeetCode - Excel Sheet Column
- JS-json-1
- OS X wants to make changes. Type an adminisstrator’s name and password to allow this. os x wants to