2102 石子归并 2codevs

题目描述 Description

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

试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.

输入描述 Input Description

数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.

输出描述 Output Description

输出共2行,第1行为最小得分,第2行为最大得分.

样例输入 Sample Input

4

4 4 5 9

样例输出 Sample Output

43

54

数据范围及提示 Data Size & Hint

经典的区间动态规划。

分类标签 Tags 点此展开

#include<cstdio>
#include<cstring>
#include<iostream>
#define N 110
using namespace std;
int n,s[N],f[N][N],g[N][N];
int main(){
memset(f,,sizeof f);
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&s[i]);
s[i+n]=s[i];
}
for(int i=;i<=*n;i++){
s[i]+=s[i-];
f[i][i]=;
}
for(int i=*n-;i;i--){
for(int j=i+;j<=i+n;j++){
for(int k=i;k<j;k++){
f[i][j]=min(f[i][j],f[i][k]+f[k+][j]+s[j]-s[i-]);
g[i][j]=max(g[i][j],g[i][k]+g[k+][j]+s[j]-s[i-]);
}
}
}
int maxn=,minn=0x7fffffff;
for(int i=;i<=n;i++){//是环,取哪段区间长度为n的最优
maxn=max(maxn,g[i][i+n-]);
minn=min(minn,f[i][i+n-]);
}
printf("%d\n%d",minn,maxn);
return ;
}

2102 石子归并 2codevs的更多相关文章

  1. codevs 2102 石子归并2

    传送门 2102 石子归并 2  时间限制: 10 s  空间限制: 256000 KB  题目等级 : 黄金 Gold   题目描述 Description 在一个园形操场的四周摆放N堆石子,现要将 ...

  2. CODEVS 2102 石子归并 2

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

  3. codevs——2102 石子归并 2(区间DP)

    时间限制: 10 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 在一个园形操场的四周摆放N堆石子,现要将石子有次序地 ...

  4. Codevs_2102_石子归并2_(环状动态规划)

    描述 http://codevs.cn/problem/2102/ 2102 石子归并 2 时间限制: 10 s 空间限制: 256000 KB 题目等级 : 黄金 Gold           题目 ...

  5. AC日记——石子归并 codevs 1048

    1048 石子归并  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 有n堆石子排成一列,每堆石子 ...

  6. 51nod 1021 石子归并(dp)

    51nod 1021 石子归并 题解:从i到j合并的最小值:dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + sum[j] - sum[i-1]); 最 ...

  7. 51nod1022 石子归并 V2

    证明w满足四边形不等式,这里w是m的附属量,形如m[i,j]=opt{m[i,k]+m[k,j]+w[i,j]},此时大多要先证明w满足条件才能进一步证明m满足条件证明m满足四边形不等式证明s[i,j ...

  8. Codevs 1048 石子归并

    1048 石子归并 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合 ...

  9. Codevs_1048_石子归并_(动态规划)

    描述 http://codevs.cn/problem/1048/  1048 石子归并 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Des ...

随机推荐

  1. 【hdu多校联考第二场】Odd Shops

    Description 这道题的题意是这道难读,大概就是给你n个商店,每个商店的重量为i的商品用ai表示,对于任意商店的a数列都是相同的,重量的范围为[1,10] 求购买方案总数为奇数的重量一共有多少 ...

  2. SimpleDataFormat详解

    [转]SimpleDateFormat使用详解 public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方 ...

  3. js操作Attribute,控件的各种属性.....maxlength,style...

    Attribute是属性的意思,文章仅对部分兼容IE和FF的Attribute相关的介绍. attributes:获取一个属性作为对象 getAttribute:获取某一个属性的值setAttribu ...

  4. TypeError: string indices must be integers, not str

    1. TypeError: string indices must be integers, not str 字符串类型取第index个字符的时候,应该传入int而不是str.如 1 a='abcde ...

  5. 关于加减和es6

    console.log(1+ "2"+"2");   //对于加法来说,如果只有一个操作数是字符串,则将另一个操作数也转换为字符串,然后将两者拼接,为122 c ...

  6. dive into python:模块的导入和搜索文件路径的配置

    1.Python中导入模块:import sys:相当于Java中的导入包.类. 比如,我们导入sys模块,使用:import sys; 2.Python中调用函数的时候,会从默认配置的库文件夹中(s ...

  7. 启用adb wifi无线调试功能(无需root)

    1  工具 电脑.手机 2  前提 电脑和手机出于同一网段 3  步骤 以管理员方式打开cmd,运行 adb tcpip 5555(执行tcpip调试模式) adb connect  192.168. ...

  8. 个人软件过程(psp)需求分析

    个人软件过程(psp)需求分析 1.  引言 1.1  背景 开发项目进度计划不准确,延期经常出现,甚至无法给出一个比较准确的延迟时间,给市场推广带来很大麻烦. 2.  任务概述 2.1 目标 PSP ...

  9. MFC_2.2 编辑框和文本控件

    编辑框和文本控件 1.拖控件 2.绑定变量.用户名密码编辑框控件类型.取名字.用户协议用值类型,默认CString. 设置属性.用户类型.选择mustiline TRUE. AOTO HScroll ...

  10. 梦想CAD控件安卓界面控制

    CAD控件界面上所有元素都可以控制显示或隐藏,下面将逐一介绍详细用法. 设置工具文件 MxFunction.setToolFile 设置工具文件.详细说明如下: 参数 说明 String sFile ...