原题原题原题原题原题
先贴上错误代码。。。
↓错误代码↓

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int f[1100][1100],f2[1100][1100],st[1100],a[1100];
int main()
{
memset(f,127,sizeof(f));
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i+n]=a[i];
st[i]=st[i-1]+a[i];
}
for(int i=n+1;i<=2*n;i++)
st[i]=st[i-1]+a[i];
for(int i=1;i<=n+n;i++)
f[i][i]=0,f2[i][i]=0;
for(int l=1;l<=n;l++)
for(int i=1;l+i<=n+n;i++)
{
int j=i+1; //第N次把“l”(英文字母)和“1”(阿拉伯数字)搞混
for(int k=i;k<=j-1;k++)
{
f2[i][j]=max(f2[i][j],f2[i][k]+f2[k+1][j]+st[j]-st[i-1]);
f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+st[j]-st[i-1]);
}
}
int maxn=f2[1][n];
int minn=f[1][n];
for(int i=1;i<=n;i++)
{
maxn=max(minn,f2[i][i+n-1]); //max函数里写minn,真的不知道怎么想的,我发誓再也不直接复制粘贴了
minn=min(minn,f[i][i+n-1]);
}
cout<<minn<<endl<<maxn;
return 0;
}

↑错误代码↑
错误原因已经注释了,40分

———————————————————分—————割—————线—————————————————————

经过一番检查,发现了这些智障错误,感到自己都惊呆了
↓正确代码↓

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int f[1100][1100],f2[1100][1100],st[1100],a[1100];
int main()
{
memset(f,127,sizeof(f));
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i+n]=a[i];
st[i]=st[i-1]+a[i];
}
for(int i=n+1;i<=2*n;i++)
st[i]=st[i-1]+a[i];
for(int i=1;i<=n+n;i++)
f[i][i]=0,f2[i][i]=0;
for(int l=1;l<=n;l++)
for(int i=1;l+i<=n+n;i++)
{
int j=i+l;
for(int k=i;k<=j-1;k++)
{
f2[i][j]=max(f2[i][j],f2[i][k]+f2[k+1][j]+st[j]-st[i-1]);
f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+st[j]-st[i-1]);
}
}
int maxn=f2[1][n];
int minn=f[1][n];
for(int i=1;i<=n;i++)
{
maxn=max(maxn,f2[i][i+n-1]);
minn=min(minn,f[i][i+n-1]);
}
cout<<minn<<endl<<maxn;
return 0;
}

↑正确代码↑
满分

【luogu】 P1880 石子合并的更多相关文章

  1. luogu P1880 石子合并

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  2. P1880 石子合并

    P1880 石子合并 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计 ...

  3. 【洛谷】P1880 石子合并

    P1880 石子合并 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计 ...

  4. 经典DP 洛谷p1880 石子合并

    https://www.luogu.org/problemnew/show/P1880 题目 题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新 ...

  5. [luogu 1880]石子合并

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  6. 洛谷P1880 石子合并(环形石子合并 区间DP)

    题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  7. 洛谷P1880 石子合并(区间DP)(环形DP)

    To 洛谷.1880 石子合并 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1 ...

  8. luogu P1880石子归并

    石子归并 luogu1880 传送门   noi1995 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得 ...

  9. 洛谷 P1880 石子合并

    题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

随机推荐

  1. 自定义注解之运行时注解(RetentionPolicy.RUNTIME)

    对注解概念不了解的可以先看这个:Java注解基础概念总结 前面有提到注解按生命周期来划分可分为3类: 1.RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成clas ...

  2. mac 给某个目录添加权限

    1  cd 到这个目录的上一层目录 2  sudo  chmod  -R 777 3 输入密码 4 完成

  3. 假如 UNION ALL 里面的子句 有 JOIN ,那个执行更快呢

    比如: select id, name from table1 where name = 'x' union all select id, name from table2 where name =  ...

  4. centos7.0 下安装jdk1.8

    centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...

  5. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

  6. JavaScript 字符串处理详解

    一.创建字符串       创建一个字符串,将一组字符串用引号包起来,将其赋值给一个字符串变量. var JsStr="Hello,JavaScript String!"; 二.字 ...

  7. 17.Java 反射机制

    1.反射的定义 反射之中包含了一个"反"的概念,所以要想解释反射就必须先从"正"开始解释,一般而言,当用户使用一个类的时候,应该先知道这个类,而后通过这个类产生 ...

  8. Jetpack 由 WordPress.com 出品

    官网:https://jetpack.com/ Jetpack 由 WordPress.com 出品. Jetpack 通过为您提供访客统计数据和安全服务.加速图像传输以及帮您获得更多浏览量,可以简化 ...

  9. POJ 2653 Pick-up sticks (线段相交)

    题意:给你n条线段依次放到二维平面上,问最后有哪些没与前面的线段相交,即它是顶上的线段 题解:数据弱,正向纯模拟可过 但是有一个陷阱:如果我们从后面向前枚举,找与前面哪些相交,再删除前面那些相交的线段 ...

  10. WebGL入门教程(三)-webgl动画

    前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL动画有移动.旋转和缩放,我们将移动.旋转和缩放图形,然后将其绘制到屏幕上,称为变换(tr ...