复习(du) 这道题,发现思想真不错

当时背板子打下来的

要下晚自习了,明天更注释吧

#include<iostream>
#include<queue>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
int f2[][],f1[][];
int s[],n;
int a[];
int ans1,ans2;
int sum(int left,int right)
{
return s[right]-s[left-];
}
int main()
{
memset(f1,-,sizeof(f1));
memset(f2,0x3f,sizeof(f2));
int i,j;
scanf("%d ",&n);
for(i=;i<=n;i++)
{
scanf("%d",&a[i]);
s[i]=a[i]+s[i-];
a[i+n]=a[i];
f1[i][i]=;
f2[i][i]=;
}
for(i=n+;i<=n*;i++)
{
s[i]=a[i]+s[i-];
f1[i][i]=;
f2[i][i]=;
} int l,k;
for(l=;l<=n;l++)
for(i=;i<=*n-l;i++)
{
j=i+l-;
for(k=i;k<j;k++)
{
f1[i][j]=max(f1[i][k]+f1[k+][j],f1[i][j]);
f2[i][j]=min(f2[i][k]+f2[k+][j],f2[i][j]);
}
f1[i][j]+=sum(i,j);
f2[i][j]+=sum(i,j);
}
ans1=-;
ans2=0x3f3f3f3f;
for(i=;i<=n;i++)
{
ans1=max(ans1,f1[i][i+n-]);
ans2=min(ans2,f2[i][i+n-]);
}
printf("%d\n%d ",ans2,ans1);
return ;
}

最新文章

  1. SQL Server 通过备份文件初始化复制
  2. NYOJ题目766回文数
  3. Go目录
  4. NDK、SDK以及JNI的关系
  5. 开机提示grub可咋办啊
  6. ACCESS自动编号重新从1开始
  7. eclipse创建java类时自动添加注释
  8. Ghost命令使用方法
  9. 杭电ACM2061--Treasure the new start, freshmen!
  10. aspx,ascx和ashx使用小结
  11. libev源代码浅析
  12. Ajax02 json
  13. Openresty使用Thrift安装步骤
  14. 【算法导论】最小生成树之Prime法
  15. lua-nginx-module模块里ngx_lua的所有指令以及可用ngx所有方法
  16. Jrebel 配置
  17. 微信接入arduino
  18. python基础学习笔记(一)
  19. python 数组 变成 字典的方法
  20. windows底下怎么让cmder通过输入subl去打开sublime text

热门文章

  1. h5-21-文件操作-读取文件内容
  2. 容器API
  3. MySQL读写分离实现
  4. ES之基本数据类型之间的显示转换和隐式转换
  5. Android 使用GridView+仿微信图片上传功能(附源代码)
  6. IOS的水滴文件效果
  7. UVA 10288 Coupons 彩票 (数学期望)
  8. QT 学习笔记概述
  9. systemtap执行过程中报probe timer.profile registration error
  10. TCP和流