题目传送门(内部题34)


输入格式

第一行,一个正整数$n$。
第二行,$n$个正整数$a_i$,保证$a_i$互不相等。


输出格式

一行一个整数表示间宫卓司得到的蛋糕大小总和的最大值。


样例

样例输入1:

5
2 8 1 10 9

样例输出1:

18

样例输入2:

8
1 10 4 5 6 2 9 3

样例输出2:

26


数据范围与提示

样例1解释:

最优解为:卓司君选第$2$块;雨咲酱选第$1$块;卓司君选第$5$块;雨咲酱选第$4$块;卓司君选第$3$块。

数据范围:

对于$32\%$的数据,$1\leqslant n\leqslant 20$。
对于$64\%$的数据,$1\leqslant n\leqslant 30$。
对于$100\%$的数据,$1\leqslant n\leqslant 2,000,1\leqslant a_i\leqslant {10}^9$,保证$a_i$互不相等。


题解

考虑$DP$,定义$dp[i][j]$表示拿完还上的区间$[i,j]$的蛋糕大小之和的最大值,根据长度的奇偶判断该谁拿即可。

时间复杂度:$\Theta(n^2)$。

期望得分:$100$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
int n;
long long a[2010];
long long dp[2010][2010];
long long ans;
int get(int x){if(x>n)x-=n;if(!x)x+=n;return x;}
long long DP(int l,int r,int x)
{
if(x>=n-1)return 0;
if(dp[l][r]!=-1)return dp[l][r];
dp[l][r]=0;
int ll=l,rr=r;
int lft=get(l-1),rht=get(r+1);
if(a[lft]>a[rht])l=lft;
else r=rht;
lft=get(l-1);
rht=get(r+1);
dp[ll][rr]=max(DP(lft,r,x+2)+a[lft],DP(l,rht,x+2)+a[rht]);
return dp[ll][rr];
}
int main()
{
memset(dp,-1,sizeof(dp));
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
for(int i=1;i<=n;i++)ans=max(ans,a[i]+DP(i,i,1));
printf("%lld",ans);
return 0;
}

rp++

最新文章

  1. 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
  2. docker学习(3) 容器的启动过程
  3. Leetcode Valid Number
  4. Ubuntu 16.04 64位安装insight 6.8
  5. 【转】linux命令详解:md5sum命令
  6. 设计模式之美:Abstract Factory(抽象工厂)
  7. JAVA学习Swing绝对局部简单学习
  8. 制作苹果推送通知APNS服务器证书文件
  9. 登录Cloudera Manager时报错org.hibernate.exception.GenericJDBCException: Could not open connection
  10. BZOJ4388 : JOI2012 invitation
  11. BAE3.0上的java+tomcat+hibernate代码发布
  12. Google Test资料
  13. H264码流解析及NALU
  14. javascript变量,类型 第9节
  15. [Uva247][Tarjan求强连通分量][Calling Circles]
  16. javascript - 工作笔记 (事件三)
  17. Ubuntu上安装flashplayer
  18. PyCharm更换sublime类似主题
  19. 自动化测试基础篇--Selenium弹出框alert
  20. [转] Linux运维常见故障排查和处理的技巧汇总

热门文章

  1. GridManager 隐藏列
  2. python中闭包和装饰器
  3. 2019-2020-1 20175223 《信息安全系统设计基础》MyOD
  4. python包导入
  5. xcodebuild自动打包上传到蒲公英的shell脚本
  6. Centos7 安装配置Apache+Mysql5.7+PHP7.0+phpmyadmin
  7. 关系型数据库MySQL(二)_索引
  8. Infinity、-Infinity和NaN
  9. tensorflow|tf.train.slice_input_producer|tf.train.Coordinator|tf.train.start_queue_runners
  10. 解决本地工具无法连接服务器上的mysql的问题