51nod 1021 石头归并
第1行:N(2 <= N <= 100) 第2 - N + 1:N堆石子的数量(1 <= A[i] <= 10000)
输出最小合并代价
4 1 2 3 4
19这道题初一看很容易往贪心方向想,后来看了提示才知道是dp,可是并不知道怎么dp。。
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<iostream> 5 using namespace std; 6 const int INF = 1 << 30; 7 int sum[1005]; 8 int vis[1005]; 9 int dp[1005][1005]; 10 int main(){ 11 int n; 12 while(~scanf("%d",&n)){ 13 int i,len,temp; 14 memset(vis,0,sizeof(vis)); 15 memset(sum,0,sizeof(sum)); 16 memset(dp,0,sizeof(dp)); 17 for(i=1;i<=n;i++){ 18 scanf("%d",&vis[i]); 19 sum[i]=sum[i-1]+vis[i]; 20 } 21 for(len=1;len<n;len++){ 22 for(i=1;i+len<=n;i++){ 23 dp[i][i + len] = INF; 24 temp=sum[i+len]-sum[i-1]; 25 for(int k=i;k<i+len;k++) 26 dp[i][i+len]=min(dp[i][i+len],dp[i][k]+dp[k+1][i+len]+temp); 27 } 28 } 29 printf("%d\n",dp[1][n]); 30 } 31 }
转载于:https://www.cnblogs.com/OMG-By/p/5498689.html
51nod 1021 石头归并相关推荐
- 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
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少 ...
- 石子归并 51Nod - 1021(区间DP入门题)
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少 ...
- 51Nod 1021 石子合并 Label:Water DP
N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. 例如: 1 2 3 4,有不少 ...
- 服务器桌面没了怎么办,windows2003服务器不显示桌面怎么办
ASP.NET MVC5+EF6+EasyUI 后台管理系统(29)-T4模版 系列目录 本节不再适合本系统,在58,59节已经重构.请超过本节 这讲适合所有的MVC程序 很荣幸,我们的系统有了体验的 ...
- 51nod 2591 最终讨伐
题目描述: 小K迷上了一款游戏,他组织了一个大型攻坚队,对敌人进行了最终的讨伐. 讨伐过程中,敌人使用技能使得攻坚队中的若干成员进入了诅咒状态,小K立即拿出了相应数量的祝福石来应对,但由于情况紧急,小 ...
- 【51nod】2591 最终讨伐
[51nod]2591 最终讨伐 敲51nod是啥评测机啊,好几次都编译超时然后同一份代码莫名奇妙在众多0ms中忽然超时 这道题很简单就是\(M\)名既被诅咒也有石头的人,要么就把石头给没有石头被诅咒 ...
- LeetCode简单题之最后一块石头的重量
题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x = ...
- LeetCode简单题之石头与宝石
题目 给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头. stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. ...
最新文章
- 阿里分布式事务框架GTS开源了!
- Leangoo产品白皮书
- 移植fatfs上电复位前两次不能正确打开文件解决方法
- “影响100活动”答记者问(二)
- 详解集合之HashMap——HashMap内部结构,自动扩容机制,为什么需要重写hashcode和equals方法
- 如何快速在oracle内生成数据,[Oracle]快速生成大量模拟数据的方法
- mongoose --- 建立一个集合规则,并导出.
- 【深度学习】Win10安装TensorFlow_gpu(避坑必看)
- 基于Tiles框架Struts框架的UI 设计—几种组织HTML和JSP视图组件
- libuv udp server和client
- 有关TinyXML使用的简单总结
- 微软为何能一直向安卓厂商收费?
- python安装计算机丢失api_Python安装后提示api-ms-win-crt-runtime-|1-1-0.dll丢失
- phpcms v9模板制作教程
- 2021江西省数学建模三题
- 【机器学习手册】【1】熟练使用向量矩阵和数组 —— 二维矩阵叉乘公式
- 【IObit】五大软件激活码( Advanced Systemcare....)
- 电脑文件删除不掉什么原因?程序显示被占用清理不掉如何操作?
- ENIAC到EDVAC到Intel的思考
- C#学习笔记:子类于父类的构造函数的关系【By Myself】
热门文章
- 超链接浏览meta name=format-detection/ 的用法
- 20180521 数组转换
- centos安装JDK与Tomcat
- flash,sdram 和 cpu 是 T形连接(类似于争的板子上flash和sdram的拓扑结构) --- FLASH搭上SDRAM,并不是你想象的那样不用布等长!...
- 谈谈基于OAuth 2.0的第三方认证 [上篇]
- 浅析JQuery中的html(),text(),val()区别
- SharePoint 2013 配置基于AD的Form认证
- jQuery基础---filter()和find()
- Spring@Autowired注解与自动装配
- 找不到或无法加载主类 org.jivesoftware.openfire.starter.ServerStarter