蓝桥杯 逗志芃的危机
问题描述:
逗志芃又一次面临了危机。逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了。现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有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; }
觉得不错点个赞吧,让我知道你的赞赏!
蓝桥杯 逗志芃的危机相关推荐
- 蓝桥杯——逗志芃的暴走 (C++)
题目来源:蓝桥杯算法训练 知识点:搜索.Floyd算法 问题描述 逗志芃是有妹子的现充,但是有时候妹子就是烦恼.因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点.由于 ...
- 蓝桥杯 算法训练 逗志芃的危机
蓝桥杯 算法训练 逗志芃的危机 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和 ...
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机
第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-988 逗志芃的危机 前言 关于数学的疑问 算法训练 逗 ...
- 蓝桥杯算法训练合集十三 1.P06022.P07033.逗志芃的危机4.唯一的小可爱5.JOE的矩阵
目录 1.P0602 2.P0703 3.逗志芃的危机 4.唯一的傻子 5.JOE的矩阵 1.P0602 问题描述 编写一个程序,输入一个4位的自然数,将组成该数的各位数字重新排列,形成一个最大数和一 ...
- 蓝桥杯 试题 算法训练 逗志芃的危机
逗志芃的危机 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数 ...
- 算法训练 逗志芃的危机
算法训练 逗志芃的危机 1.题目 2.输入格式 3.输出格式 4.代码部分 5.测试数据 1.题目 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要 ...
- 蓝桥杯算法训练-逗志芃的危机
每日更新蓝桥杯题解, 有兴趣关注一波呀 文章目录 题目描述 题解 java代码 C++代码 题目描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一 ...
- 蓝桥杯 算法训练 逗志芃的危机(Java)
问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从最 ...
- 试题 算法训练 逗志芃的危机 (Java实现 通俗易懂)
问题描述: 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从 ...
最新文章
- 亚马逊全面回应:涵盖人脸识别、假货等 10 个问题
- VC++ 进程间通信方法总结
- 动态路由和动态路由中的RIP协议
- 天气模式_北方降雪骤减!南方开启湿冷模式多阴雨!|天气展望
- android手动创建数据表,Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)...
- java枚举对象作用_浅析Java编程中枚举类型的定义与使用
- mysql删除表崩溃_MySQL在删除表时I/O错误原因分析
- Python3的scapy库的学习(暂无内容)
- 是谁断送了网络工程师的前途
- 第一次的数电作业-----数据选择,代码转换,译码
- msys2(msys2-i686-20180531)32位下安装GMT4.5.6
- Matlab机器学习和深度学习APP之Regression Learner
- EAS BOS数据库更新
- 使用谷歌浏览器查看ws消息
- 计算机丢失opencv_world300.dll文件
- 楼板的弹性计算和塑形计算_双向板计算的弹性算法和塑性算法
- 你知道为什么zip始终不兼容rar吗?
- ubuntu16.04 下 android 4.4.4 源码编译
- A. Anti Light‘s Cell Guessing
- view设置圆角 android,Android 设置圆角View
热门文章
- python辗转相除_Python基于辗转相除法求解最大公约数的方法示例
- 字符串函数 tirm 的作用
- cdoj1638 红藕香残玉簟秋,轻解罗裳,独上兰舟。
- 利用派生类实现统一接口解决三种基础排序问题
- 使用kali破解WiFi抓不住包问题和No such BSSID available.问题的解决方法----airodump-ng、aireplay-ng
- winmail邮箱服务器怎么看,Winmail Mail Server邮件服务器软件怎么使用?Winmail Mail Server安装以及使用教程详...
- 计算机专业英语中tour的意思,tour旅游 (英语小记)
- 向来痴,从此醉,先生一路走好。
- Beosin EOS-IDE 升级用户体验及常见问题答疑
- iOS Core Bluetooth_4 用作中央设备的常用方法(2/2)[swift实现]