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

#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. c/c++ string

    string类的定义.操作. #include<iostream> #include<string> using namespace std; int main() { // ...

  2. getAttribute、setAttribute、removeAttribute

    1.函数语法 elementNode.attributes:属性返回包含被选节点属性的 NamedNodeMap. elementNode.getAttribute(name):方法通过名称获取属性的 ...

  3. js 函数

    函数:封装了某一块功能 四要素: 1.返回类型 2.函数名 3.参数列表4.函数体强类型语言 返回类型 函数名 首字母大写 参数列表string(字符串) Show (int a){ 函数体 }弱类型 ...

  4. C语言 关于内存动态分配问题

    全局变量:分配到 内存的静态区. 局部变量(非静态):分配到 内存的动态区.在存储区中称为栈(stack) 临时数据(C允许内存动态分配区域):存放在自由空间区,称为堆区(heap) 内存动态分配 得 ...

  5. 前端实现图片懒加载(lazyload)的两种方式

    在实际的项目开发中,我们通常会遇见这样的场景:一个页面有很多图片,而首屏出现的图片大概就一两张,那么我们还要一次性把所有图片都加载出来吗?显然这是愚蠢的,不仅影响页面渲染速度,还浪费带宽.这也就是们通 ...

  6. MongoDB的分片(9)

    什么是分片 分片是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这些块分散到若干片里, ...

  7. 基于Docker快速搭建多节点Hadoop集群--已验证

    Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中.这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤.作者在发现目前的Hadoop ...

  8. html5吹牛扯淡篇,闲话内容。

    09年提出对媒体查询的草案,到今天的广泛运用,w3c带我们走进了个性化定制的殿堂.这些之所以会被认可会被写进世界级标准,因为他越来越适应广大用户的需求,需求就像一条锁链带动或者牵引整个互联网开发工作. ...

  9. ajax删除DB数据

    1.前台js $().ready(function () { $('[name="checkAll"]').click(function () { if ("checke ...

  10. dedecms 采集规则过滤与替换

    过滤与替换常用操作:点击"常用规则",选择要过滤的代码段,再编辑成我们需要的.如果会文章简单采集了,接下来就需要过滤掉采集内容中的广告和链接及其它代码.一般的写法是{dede:tr ...