• codevs 2102 石子归并 2


    2102 石子归并 2

     

     时间限制: 10 s
     空间限制: 256000 KB
     题目等级 : 黄金 Gold
     
     
     
    题目描述 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 

    动态规划 区间型DP 环型DP
     
     
    这道题和他的低级版本  石子归并1  不一样地方在于
    他要求合并的石子是一个环
    而 1 是一条链
    直接用环去做这个题貌似不好做
     
    这就需要用到一个技巧把环转换成链
    断环为链
     
    例如  一条 环 1 3 4 2 5
    把他 变成 1 3 4 2 5 1 3 4 2 5
    这样从上面截取 长度为5 的一段,就是环的所有形态
     
    所以根据  石子归并1 的思路
    三重循环
    然后再从 1-n——n-2n 找出最小的合法解
    就是答案
  • 相关阅读:
    webpack入门
    Javascript隐式转换
    一个最小手势库的实现
    运用JS设置cookie、读取cookie、删除cookie
    不同浏览器下兼容文本两端对齐
    使用CSS3实现一个3D相册
    JavaScript 火的有点过头了,但又能火多久呢?
    强大的css3
    CSS3与页面布局学习总结
    红米手机真机调试问题记录
  • 原文地址:https://www.cnblogs.com/qdscwyy/p/6913254.html
Copyright © 2020-2023  润新知