博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[JOI 2015 Final] 分蛋糕 2
阅读量:5141 次
发布时间:2019-06-13

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

试题分析

容易发现性质,选择的是一段区间,但是贪心无法去维护这件事情,所以考虑$dp$,且我们只要去设计关于$JOI$的选择。

设$dp(i,j)$为现在要在$[l,r]$区间内选择,然后就可以随便写了。

#include
#include
#include
#include
#define int long longusing namespace std;inline int read(){ int f=1,ans=0;char c=getchar(); while(c<'0'||c>'9'){
if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){ans=ans*10+c-'0';c=getchar();} return f*ans;}const int N=4001;int dp[N][N],n,val[N],maxn;int dfs(int l,int r){ if(l==r) return dp[l][r]=val[l]; if(l+1==r) return dp[l][r]=max(val[l],val[r]); if(dp[l][r]!=-1) return dp[l][r]; int res=0; if(val[l+1]>val[r]) res=max(res,dfs(l+2,r)+val[l]); else res=max(res,dfs(l+1,r-1)+val[l]); if(val[l]
View Code

 

转载于:https://www.cnblogs.com/si-rui-yang/p/10159384.html

你可能感兴趣的文章
.gitlab-ci.yml简介
查看>>
Java解析XML的四种方法
查看>>
Cocos2d-x3.0 载入Cocostudio的UI后,button无法点击的解决方法
查看>>
Linux修改hostname时/etc/hosts、/etc/sysconfig/network ,hostname,三者的区别和联系
查看>>
go源码分析(一) 通过调试看go程序初始化过程
查看>>
Linux 命令
查看>>
常用正则及表单校验工具类
查看>>
删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录...
查看>>
删除数组中的重复项
查看>>
字符串ES6
查看>>
QT格式化代码
查看>>
Hive sql创建表以及插入分区表
查看>>
C语言程序设计第五次作业——循环结构
查看>>
HappyLeetcode42:Intersection of Two Linked Lists
查看>>
gdb调试整理
查看>>
jquery
查看>>
分割面板(JSplitPane)
查看>>
Loop List
查看>>
USACO section3.1 Shaping Regions(漂浮法)
查看>>
Docker(十)-Docker创建DockerFile文件
查看>>