石子归并 51Nod - 1021
N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。
Input第1行:N(2 <= N <= 100)
第2 - N + 1:N堆石子的数量(1 <= Aii <= 10000)Output输出最小合并代价Sample Input
4 1 2 3 4
Sample Output
19
http://www.cnblogs.com/qq-star/p/4161143.html(大佬的详细解答)
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstring> 5 using namespace std; 6 7 const int INF=100000000; 8 9 int N; 10 int dp[105][105],sum[105][105],a[105]; 11 12 int main() 13 { scanf("%d",&N); 14 for(int i=1;i<=N;i++) scanf("%d",&a[i]); 15 for(int i=1;i<=N;i++){ 16 dp[i][i]=0; 17 sum[i][i]=a[i]; 18 } 19 for(int len=1;len<N;len++){ 20 for(int i=1;i<=N&&i+len<=N;i++){ 21 int j=len+i; 22 dp[i][j]=INF; 23 for(int k=i;k<j;k++){ 24 sum[i][j]=sum[i][k]+sum[k+1][j]; 25 int tem=dp[i][k]+dp[k+1][j]+sum[i][j]; 26 if(dp[i][j]>tem) dp[i][j]=tem; 27 } 28 } 29 } 30 printf("%d\n",dp[1][N]); 31 }
转载于:https://www.cnblogs.com/zgglj-com/p/6914831.html
石子归并 51Nod - 1021相关推荐
- 石子归并 51Nod - 1021(区间DP入门题)
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少 ...
- 51nod 1021 石头归并
1021 石子归并 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合 ...
- Codevs 3002 石子归并 3(DP四边形不等式优化)
3002 石子归并 3 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次 ...
- 区间DP{环形}:石子归并-2
题目描述 Description 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法, ...
- 【codevs1048】【codevs115406TG】石子归并、能量项链,序列dp的典型题目
1048 石子归并 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并 ...
- codevs 1048 石子归并
传送门 1048 石子归并 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], ...
- GarsiaWachs算法:石子归并问题
1023 石子归并 V3 基准时间限制:2 秒 空间限制:131072 KB 分值: 320 难度:7级算法题 收藏 关注 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2 ...
- 51nod 1021 石子归并 (动态规划 简单代码)
题目: 思路:动态规划,递推式子 dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + sum[j] - sum[i-1]); dp[i][j]表示合并第i ...
- 51Nod 1021 石子合并 Label:Water DP
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少 ...
最新文章
- leetCode 28. Implement strStr() 字符串
- 详解协同感知数据集OPV2V: An Open Benchmark Dataset and Fusion Pipeline for Perception with V2V Communication
- 徐扬:互联网营销下的移动营销
- QTcpSocket使用QDataStream发送和保存图片文件
- 自然语言处理——BERT情感分类实战(一)之预处理
- python下载-python下载及安装
- 2.windows-and-mac在控制台创建ASP.NET-Core应用程序
- matlab正交表,正交表的构造方法及Matlab实现
- CText类使用例程
- 高考为什么考计算机信息,信息技术是否应该进入高考?
- 有的放矢-电气工程师的工作重心
- backurl使用,登录后跳转回当前页
- 【转】ARM GIC中断系列(三):gicv3架构基础
- 用Python群发邮件
- 【Java】如何优雅的使用HttpClient
- 远程桌面 域计算机,在AD中实现仅普通域用户可通过远程桌面控制自身计算机
- 前端必学——用JavaScript实现电商图片放大镜效果(附代码)
- Typora自定义主题#简约风主题
- 我用ChatGPT做直播技术选型,卷死了同事
- 输出100以内所有能被7整除的数
热门文章
- ctr z撤回反向_matplotlib 3D图上的反向Z轴
- ruijie交换机lacp动态_Server2016和华为s5720交换机链路聚合增加带宽
- java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big解决方法
- tomcat和servlet的关系
- 虚拟化运维工具医院解决方案
- 电脑技巧:微软电脑管家测试版发布,赶快来体验一下吧!
- 电脑技巧:键盘上最长的按键空格键使用技巧!
- php获取服务器名称,PHP 获取服务器详细信息
- 垂直梯形校正画质损失多少_梯形校正功能是怎么实现的?其中可大有学问
- python中一些特殊方法的作用