【洛谷P1880】[NOI1995]石子合并
2024-09-05 17:28:46
fmax[l][r]表示合并区间[l,r]的最大分值,
fmin[l][r]表示合并区间[l,r]的最小分值
for(k l~r-1)
fmax[l][r]=max(fmax[l][r],fmax[l][k]+f[k+1][r]+sum[l][r]);
sum[l][r]可以提到外面
最小值同理
处理环形就把环搞成一个2倍长度的链,最后枚举长度为n的区间最大得分和最小得分
#include<iostream>
#include<cstdio>
using namespace std;
const int MAXN = ;
int a[MAXN],sum[MAXN],n,fmax[MAXN][MAXN],fmin[MAXN][MAXN];
inline int read()
{
int x=;char c=getchar();
while(c<''||c>'') c=getchar();
while(''<=c&&c<='') { x=(x<<)+(x<<)+c-''; c=getchar();}
return x;
}
int main()
{
n=read();
for(register int i=;i<=n;i++)
{
a[i]=read(); a[i+n]=a[i];
}
for(register int i=;i<=(n<<);i++)
sum[i]=sum[i-]+a[i];
for(int i=;i<=(n<<);i++)
for(int j=;j<=(n<<);j++)
fmin[i][j]=0x7fffffff>>;
for(int i=;i<=n<<;i++)
fmin[i][i]=;
for(register int len=;len<=n<<;len++)
for(register int l=;l+len-<=n<<;l++)
{
int r=l+len-;
for(register int k=l;k<r;k++)
{
fmax[l][r]=max(fmax[l][r],fmax[l][k]+fmax[k+][r]);
fmin[l][r]=min(fmin[l][r],fmin[l][k]+fmin[k+][r]);
}
fmax[l][r]+=sum[r]-sum[l-];
fmin[l][r]+=sum[r]-sum[l-];
}
int ans1=0x7fffffff,ans2=;
for(int i=;i<=n;i++)
{
ans1=min(ans1,fmin[i][i+n-]);
ans2=max(ans2,fmax[i][i+n-]);
}
printf("%d\n%d\n",ans1,ans2);
return ;
}
最新文章
- 【转】Oracle索引列NULL值引发执行计划该表的测试示例
- HOJ 1004: Prime Palindromes
- python爬虫抓取数据
- addEventListener,attachEvent
- IE浏览器部分版本不支持opacity透明度属性问题
- ORM中去除反射,添加Expression
- codeforces 340E Iahub and Permutations(错排or容斥)
- cocos2d-x新手学习之Helloworld(第三篇)[版本号:cocos2d-x-3.1.1]
- 14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新:
- Nodejs(待补充)
- 关于warning: suggest parentheses around assignment used as truth value [-Wparentheses]|的解决方法
- scrapy-middlewares
- BZOJ3307雨天的尾巴——线段树合并
- facebook api call——error
- Xilinx 7 series FPGA multiboot技术的使用(转)
- Redis常用数据类型及使用场景
- php操作文件类的函数
- jquery根据字符切割字符串
- (转)x264 编码流程
- 安装批量装机工具cobbler过程
热门文章
- Spring Boot 实现ErrorController接口处理404、500等错误页面
- Hive学习(二)
- Indexing the World Wide Web: the Journey So Far阅读笔记
- [转]js判断url是否有效
- 怎么为android控件边缘添加阴影
- jQuery学习心得
- apache配置多端口对应多个虚拟目录
- node Error: Could not locate the bindings file. Tried:解决
- #与javascript:void(0)的区别
- maven课程 项目管理利器-maven 3-7 maven依赖范围 2星