博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
28.uva 10891 Game of Sum 记忆化dp
阅读量:4483 次
发布时间:2019-06-08

本文共 1070 字,大约阅读时间需要 3 分钟。

这题和上次的通化邀请赛的那题一样,而且还是简化版本。。。

那题的题解      

。。。

 

#include
#include
#include
#include
using namespace std;#define INF 0x3f3f3f3fint dp[105][105];int a[105];int sum,n;int pre_sum[105],next_sum[105];int dfs(int b,int t,int sums){ if(dp[b][t]!=INF) return dp[b][t]; if(b+t==n) return 0; int maxn=-INF; for(int i=1;i+b+t<=n;i++) { maxn=max(maxn,sums-dfs(b+i,t,sum-pre_sum[b+i]-next_sum[n-t+1])); maxn=max(maxn,sums-dfs(b,t+i,sum-pre_sum[b]-next_sum[n-t-i+1])); } return dp[b][t]=maxn;}int main(){ while(scanf("%d",&n)&&n) { sum=0; next_sum[n+1]=pre_sum[0]=0; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); sum+=a[i]; pre_sum[i]=pre_sum[i-1]+a[i]; } for(int i=n;i>=1;i--) next_sum[i]=next_sum[i+1]+a[i]; memset(dp,0x3f,sizeof(dp)); dfs(0,0,sum); printf("%d\n",dp[0][0]-(sum-dp[0][0])); } return 0;}

 

 

转载于:https://www.cnblogs.com/pangblog/p/3292217.html

你可能感兴趣的文章
面试笔试题
查看>>
MySql可视化工具MySQL Workbench使用教程
查看>>
个人站立会议第二阶段07
查看>>
云时代架构阅读笔记五——Web应用安全
查看>>
IOS 单击手势和cell点击冲突
查看>>
学习_HTML5_day3
查看>>
计算机网络与应用第二次笔记
查看>>
Django之ORM查询
查看>>
学习python第七天
查看>>
Flask基础(07)-->正则自定义转换器
查看>>
C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
查看>>
Spring Boot构建RESTful API与单元测试
查看>>
【JavaScript你需要知道的基础知识~】
查看>>
谷歌搜索语法
查看>>
static 静态变量
查看>>
Java面试题(05)
查看>>
操作符重载
查看>>
Docker 安装及问题处理
查看>>
JavaScript中的call 和apply的用途以及区别
查看>>
HashMap完全解读
查看>>