zoukankan      html  css  js  c++  java
  • 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 找出最小的合法解
    就是答案
  • 相关阅读:
    c# 自定义事件和委托
    C#委托之个人理解(转)
    invokeRequired属性和 invoke()方法
    .NET(C#)连接各类数据库
    Mobile Web Development with ASP.NET 2.0
    移动飞信WEB发送服务接口
    4行C#代码打造专业数据库连接配置界面
    domino 中 UniversalID 和NoteID的区别
    VB中preserve的用法
    LOTUS Note ID 剖析
  • 原文地址:https://www.cnblogs.com/qdscwyy/p/6913254.html
Copyright © 2011-2022 走看看