CODEVS 1048石子归并
来源:互联网 发布:智多星预算软件 编辑:程序博客网 时间:2024/06/05 14:46
#include<stdio.h>using namespace std;int n,w[110],f[110][110];int mmin(int a,int b){ return a<b?a:b;}int summ(int a,int b){ int ssum=0; for(int k=a;k<=b;k++) ssum+=w[k]; return ssum;}int d(int i,int j){ if(f[i][j]>0) return f[i][j]; else if(i==j) return f[i][j]=0; else{ int minn=1000000; for(int k=i;k<j;k++){//注意k<j而不是k<=j! int o=d(i,k)+d(k+1,j)+summ(i,j);//注意第二段从k+1开始 minn=o<minn?o:minn; } return f[i][j]=minn; }}int main(){ freopen("1048.in","r",stdin); freopen("1048.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) cin>>w[i]; cout<<d(1,n); return 0;}
题解:记忆化搜索,状态转移方程 d(i,j)=min(d(i,k)+d(k+1,j)+summ(i,j))注意第二段从k+1开始,边界d(i,j)={0|i==j}.
0 0
- Codevs 1048 石子归并
- Codevs 1048 石子归并
- 【codevs 1048】石子归并
- 【codevs 1048】石子归并
- codevs 1048 石子归并
- CODEVS 1048石子归并
- CODEVS 1048 石子归并
- codevs 1048 石子归并
- codevs 1048 石子归并 挖个坑
- 石子归并问题(codevs 1048)
- Codevs 1048 石子归并 区间DP
- codevs 3002石子归并
- codevs 石子归并
- 【codevs 2102】石子归并
- codevs石子归并 动态规划
- Codevs 2102 石子归并 2
- CodeVs 2102 石子归并 2
- 【codevs 2102】石子归并2
- 1508-张晨曦总结《2016年-10月-27日》【连续6天总结】
- 设计模式-简单工厂模式
- 网络部第二次升华培训
- Redux异步方案选型
- 文章标题
- CODEVS 1048石子归并
- 【uva 11300】 Spreading the Wealth
- 欢迎使用CSDN-markdown编辑器
- Mybatis学习总结三
- GOM引擎单机架设配置教程
- ListView Adapter 封装 打造Android 万能适配器
- LeetCode-292. Nim Game-Java
- Java知识碎片整理(5)——static关键字与单例设计模式
- java语言_统计字符出现的次数