题目描述

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

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

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1: 复制

4
4 5 9 4
输出样例#1: 复制

43
54 *****石子合并分为两个梯度的形式
第一种就是一条线那样的石子合并
 #include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int i,j,l,k,n,a[],f[][],s[];
int main()
{
scanf("%d",&n);
s[] = ;
for(i = ;i <= n;i++)
{
scanf("%d",&a[i]);
s[i] = s[i - ] + a[i];
}
for(l = ;l <= n;l++)
{
for(i = ;i <= n + l - ;i++)
{
j = i + l - ;
for(k = i;k <= j - ;k++)
{
if(f[i][j] != )
f[i][j] = min(f[i][j],f[i][k] + f[k + ][j] + s[j] - s[i - ]);
else
f[i][j] = f[i][k] + f[k + ][j] + s[j] - s[i - ];
}
}
}
printf("%d",f[][n]);
return ;
}
第二种是围成一个圈那样,和这道题就是这个类型
O(N^3)有两种算法
第一种就是

这种啊博主也没怎么看懂,等着2020年6月9号看吧吼吼
下面这种博主还是会滴
 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int i,j,m,n,l,k,da = ,an = ,a[],f[][],s[],p[][];
int main()
{
scanf("%d",&n);
s[] = ;
for(i = ;i <= n;i++)
{
scanf("%d",&a[i]);
a[i + n] = a[i];
}
for(i = ;i <= * n;i++)
{
s[i] = s[i - ] + a[i];
}
for(l = ;l <= n;l++)
{
for(i = ;i <= n * - l;i++)
{
j = i + l - ;
for(k = i;k <= j - ;k++)
{
if(f[i][j] != )
f[i][j] = min(f[i][j],f[i][k] + f[k + ][j] + s[j] - s[i - ]);
else
f[i][j] = f[i][k] + f[k + ][j] + s[j] - s[i - ];
p[i][j] = max(p[i][j],p[i][k] + p[k + ][j] + s[j] - s[i - ]);
}
}
}
for(i = ;i <= n;i++)
{
if(da != )
da = min(da,f[i][i + n - ]);
else
da = f[i][i + n - ];
an = max(an,p[i][i + n - ]);
}
printf("%d\n%d",da,an);
return ;
}

 
 
 

NOI1995石子合并&多种石子合并的更多相关文章

  1. ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

    ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...

  2. C# 创建邮件合并模板并合并文本、图片

    对于Word中的邮件合并功能,用户可以将邮件合并后的结果文档保存并打印,也可以通过邮件的形式发送,在很多场合需要使用到此功能.那对于编程人员,我们也可以在C#语言环境中通过代码的形式来实现.根据需要先 ...

  3. 启发式合并 splay合并 线段树合并基础

    Gold is everywhen! - somebody 启发式合并 将小的集合一个个插入到大的集合. 每次新集合大小至少比小集合大一倍,因此每个元素最多合并\(\log n\)次,总复杂度为\(n ...

  4. Unity网格合并_材质合并

    [转]Unity网格合并_材质合并 原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网 ...

  5. 【转】Unity网格合并_材质合并

    原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装, ...

  6. jquery数组的合并 对象的合并

    直接转自:https://www.cnblogs.com/ooo0/p/7737678.html 1.数组的合并 1.1 concat方法 var a=[1,2,3],b=[4,5,6]; var c ...

  7. Java 在Word中创建邮件合并模板并合并文本和图片

    Word里面的邮件合并功能是一种可以快速批量操作同类型数据的方式,常见的如数据填充.打印等.其中必不可少的步骤包括用于填充的模板文档.填充的数据源以及实现邮件合并的功能.下面,通过Java程序展示如何 ...

  8. C# 合并多种格式文件为PDF

    文档合并是一种高效文档处理方式.如果能够有一个方法能将多种不同类型的文档合并成一种文档格式,那么在文档存储管理上将为我们提供极大的便利.因此,本篇文章介绍了一种如何使用免费组件Free Spire.O ...

  9. 分享知识-快乐自己:List 集合去重合并 , 多种方法演示

    最近空闲时间去面试 , 被问了一个问题list如何去重合并 , 想了半天只想到了最繁琐的循环方法 , 顿觉丢人. 整理一下资料供大家参考: List<String> a = new Arr ...

随机推荐

  1. SAP应用创新-维护控制表、视图统一路径

    SAP应用创新-维护控制表.视图统一路径 背景: Sap 里面通过技术支持人员维护表的值控制业务操作的表不少,一般通过事物代码或记录在系统外的文档或在某个程序上放置一个按钮.缺点:分散,不易记,不好找 ...

  2. hostname命令

    hostname命令用于显示和设置系统的主机名称.环境变量HOSTNAME也保存了当前的主机名.在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名. ...

  3. CSS--外发光与内阴影

    外阴影:box-shadow: X轴  Y轴  Rpx  color; 属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影模糊值(大小)    阴影的 ...

  4. BZOJ 4584 【APIO2016】 赛艇

    题目链接:赛艇 讲道理好好的Boat为啥要翻译成赛艇呢……题面中不也是划艇么…… 这道题考虑一下dp.由于划艇数量过于庞大,所以肯定不能直接记录到dp状态中.所以一个想法就是把数量离散化,然后把每个学 ...

  5. 【BZOJ】3575: [Hnoi2014]道路堵塞

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3575 大概的做法是,按照顺序枚举每一条要删去的边,(假设当前点为$u$,在最短路径上的下一 ...

  6. KMP字符串匹配(模板)

    描述: 给出两个字符串 s1 和 s2 ,其中 s2 为 s1 的子串,求出 s2 在 s1 中所有出现的位置.同时要求输出 s2 的 fail 数组. 思路: KMP模板. 标程: #include ...

  7. Java SE LinkedList的底层实现

    关于实现链表的底层原理 链表便于增删,不便于查询 package com.littlepage.linkedList; /** * 基于底层实现LinkedList * @author Littlep ...

  8. 基于虹软sdk,java实现人脸识别(demo)

    ## 开发环境准备:###开发使用到的软件和工具:* Jdk8.mysql5.7.libarcsoft_face.dll(so).libarcsoft_face_engine.dll(so).liba ...

  9. ubuntu 18.04编译opencv3.4.3 with python3.6 cuda9.2 gdal

    惭愧,之前一直没在linux下编译过opencv,也没用过纯命令行版的cmake,现在咬牙编译一次.其实感觉还凑合. opencv官网文档还是那么烂:https://docs.opencv.org/m ...

  10. sql server 我常用的语句

    1. computed column ) persisted; 2. unique nullable create unique nonclustered index[UniqueName] on [ ...