问题描述:

  逗志芃又一次面临了危机。逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了。现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从最前面或者最后面取走一个数,全部取完则游戏结束,之后每个人取走的数的和就是每个人的得分。由于逗志芃妹子很厉害,但他又不想输,所以只能找到你了,你要告诉他最多可以得到多少分。(注意,妹子智商是maxlongint所以是不会犯错的,每次的策略必然最优,而且逗志芃是先手)

输入格式

  第一行一个数n,表示有n个数。
  第二行就是进行游戏的n个数。

输出格式

  一个数,最高得分

样例输入

2
10 20

样例输出

20

数据规模和约定

  例:0<n,m<=1000,每个数不超过10000 。


问题描述:

前缀和,动态规划

//f[i][j],当前选手首先取区间[i,j]所能得到总和的最大值。
//sum[i]前i个数字的和
f[i][j]=max(f[i][j],a[i]+sum[j]-sum[i]-f[i+1][j]);//取左端
f[i][j]=max(f[i][j],a[j]+sum[j-1]-sum[i-1]-f[i][j-1]);//取右端 


解决方案:

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;
const int N=1010;
long long f[N][N];
long long a[N];
long long sum[N];//前缀和 int main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];sum[i]=sum[i-1]+a[i];}for(int i=1;i<n;i++)//初始化区间长度为2的情况 f[i][i+1]=max(a[i],a[i+1]);for(int i=1;i<n-1;i++)//初始化区间长度为3的情况 f[i][i+2]=max(a[i],a[i+2])+min(a[i],min(a[i+1],a[i+2]));for(int p=3;1+p<=n;p++){//p间隔 for(int i=1,j=i+p;j<=n;i++,j=i+p){//两种情况取最大值 f[i][j]=max(f[i][j],a[i]+sum[j]-sum[i]-f[i+1][j]);//取左端 f[i][j]=max(f[i][j],a[j]+sum[j-1]-sum[i-1]-f[i][j-1]);//取右端
//          cout<<i<<'*'<<j<<':'<<f[i][j]<<endl;}}cout<<f[1][n]; return 0;
}

觉得不错点个赞吧,让我知道你的赞赏!

蓝桥杯 逗志芃的危机相关推荐

  1. 蓝桥杯——逗志芃的暴走 (C++)

    题目来源:蓝桥杯算法训练 知识点:搜索.Floyd算法 问题描述 逗志芃是有妹子的现充,但是有时候妹子就是烦恼.因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点.由于 ...

  2. 蓝桥杯 算法训练 逗志芃的危机

    蓝桥杯 算法训练 逗志芃的危机 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和 ...

  3. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机

    第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机 前言 关于数学的疑问 算法训练 逗 ...

  4. 蓝桥杯算法训练合集十三 1.P06022.P07033.逗志芃的危机4.唯一的小可爱5.JOE的矩阵

    目录 1.P0602 2.P0703 3.逗志芃的危机 4.唯一的傻子 5.JOE的矩阵 1.P0602 问题描述 编写一个程序,输入一个4位的自然数,将组成该数的各位数字重新排列,形成一个最大数和一 ...

  5. 蓝桥杯 试题 算法训练 逗志芃的危机

    逗志芃的危机 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数 ...

  6. 算法训练 逗志芃的危机

    算法训练 逗志芃的危机 1.题目 2.输入格式 3.输出格式 4.代码部分 5.测试数据 1.题目 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要 ...

  7. 蓝桥杯算法训练-逗志芃的危机

    每日更新蓝桥杯题解, 有兴趣关注一波呀 文章目录 题目描述 题解 java代码 C++代码 题目描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一 ...

  8. 蓝桥杯 算法训练 逗志芃的危机(Java)

    问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从最 ...

  9. 试题 算法训练 逗志芃的危机 (Java实现 通俗易懂)

    问题描述: 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从 ...

最新文章

  1. 亚马逊全面回应:涵盖人脸识别、假货等 10 个问题
  2. VC++ 进程间通信方法总结
  3. 动态路由和动态路由中的RIP协议
  4. 天气模式_北方降雪骤减!南方开启湿冷模式多阴雨!|天气展望
  5. android手动创建数据表,Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)...
  6. java枚举对象作用_浅析Java编程中枚举类型的定义与使用
  7. mysql删除表崩溃_MySQL在删除表时I/O错误原因分析
  8. Python3的scapy库的学习(暂无内容)
  9. 是谁断送了网络工程师的前途
  10. 第一次的数电作业-----数据选择,代码转换,译码
  11. msys2(msys2-i686-20180531)32位下安装GMT4.5.6
  12. Matlab机器学习和深度学习APP之Regression Learner
  13. EAS BOS数据库更新
  14. 使用谷歌浏览器查看ws消息
  15. 计算机丢失opencv_world300.dll文件
  16. 楼板的弹性计算和塑形计算_双向板计算的弹性算法和塑性算法
  17. 你知道为什么zip始终不兼容rar吗?
  18. ubuntu16.04 下 android 4.4.4 源码编译
  19. A. Anti Light‘s Cell Guessing
  20. view设置圆角 android,Android 设置圆角View

热门文章

  1. python辗转相除_Python基于辗转相除法求解最大公约数的方法示例
  2. 字符串函数 tirm 的作用
  3. cdoj1638 红藕香残玉簟秋,轻解罗裳,独上兰舟。
  4. 利用派生类实现统一接口解决三种基础排序问题
  5. 使用kali破解WiFi抓不住包问题和No such BSSID available.问题的解决方法----airodump-ng、aireplay-ng
  6. winmail邮箱服务器怎么看,Winmail Mail Server邮件服务器软件怎么使用?Winmail Mail Server安装以及使用教程详...
  7. 计算机专业英语中tour的意思,tour旅游 (英语小记)
  8. 向来痴,从此醉,先生一路走好。
  9. Beosin EOS-IDE 升级用户体验及常见问题答疑
  10. iOS Core Bluetooth_4 用作中央设备的常用方法(2/2)[swift实现]