石子合并

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 ;
}

最新文章

  1. 【转】Oracle索引列NULL值引发执行计划该表的测试示例
  2. HOJ 1004: Prime Palindromes
  3. python爬虫抓取数据
  4. addEventListener,attachEvent
  5. IE浏览器部分版本不支持opacity透明度属性问题
  6. ORM中去除反射,添加Expression
  7. codeforces 340E Iahub and Permutations(错排or容斥)
  8. cocos2d-x新手学习之Helloworld(第三篇)[版本号:cocos2d-x-3.1.1]
  9. 14.4.3.5 Configuring InnoDB Buffer Pool Flushing 配置InnoDB Buffer Pool 刷新:
  10. Nodejs(待补充)
  11. 关于warning: suggest parentheses around assignment used as truth value [-Wparentheses]|的解决方法
  12. scrapy-middlewares
  13. BZOJ3307雨天的尾巴——线段树合并
  14. facebook api call——error
  15. Xilinx 7 series FPGA multiboot技术的使用(转)
  16. Redis常用数据类型及使用场景
  17. php操作文件类的函数
  18. jquery根据字符切割字符串
  19. (转)x264 编码流程
  20. 安装批量装机工具cobbler过程

热门文章

  1. Spring Boot 实现ErrorController接口处理404、500等错误页面
  2. Hive学习(二)
  3. Indexing the World Wide Web: the Journey So Far阅读笔记
  4. [转]js判断url是否有效
  5. 怎么为android控件边缘添加阴影
  6. jQuery学习心得
  7. apache配置多端口对应多个虚拟目录
  8. node Error: Could not locate the bindings file. Tried:解决
  9. #与javascript:void(0)的区别
  10. maven课程 项目管理利器-maven 3-7 maven依赖范围 2星