nyoj+区间dp石子合并
来源:互联网 发布:平面设计排版软件 编辑:程序博客网 时间:2024/04/30 10:01
点击打开链接
#include<stdio.h>#include<stdlib.h>#include<iostream>#include<cstring>#include<string>#include<string.h>#include<algorithm>#include<cmath>#define inf 0x3f3f3f3fusing namespace std;int dp[205][205],sum[205],a[205];int main(){ int n=0,i=0,j=0,k=0,len=0; while(scanf("%d",&n)!=EOF){ memset(dp,0,sizeof(dp)); memset(sum,0,sizeof(sum)); for(i=1;i<=n;i++){ scanf("%d",&a[i]); sum[i]=sum[i-1]+a[i]; } for(len=1;len<=n;len++){///枚举区间长度。 for(i=1;i<=n-len;i++){///找出所有的区间长度len,i为区间len的左边坐标,j为区间len的右坐标。 j=i+len; dp[i][j]=inf;///还没有进行dp,初始化。 for(k=i;k<j;k++){///k要从i开始(i=1,j=i+len-1)还未dp,区间一分为二进行枚举 dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1]);///dp[i][k]+dp[k+1][j]为找出最小的,而sum[j]-sum[i]为两堆石子合并后要加的花费 } } } printf("%d\n",dp[1][n]); } return 0;
0 0
- nyoj+区间dp石子合并
- NYOJ 石子合并(一)(区间DP)
- nyoj 737 石子合并 经典区间 dp
- NYOJ 石子合并(一)经典区间DP
- 石子合并 (区间DP)
- 石子合并 (区间dp)
- 石子合并(区间dp)
- <区间DP> 石子合并
- [区间DP]石子合并
- 合并石子,区间DP
- 石子合并【区间dp】
- 区间dp 石子合并
- NYOJ题目737石子合并(一)(区间dp)
- NYOJ 石子合并(一)经典区间DP
- NYOJ 737 — 石子合并(一) 区间dp
- nyoj 737 石子合并(一) 【区间dp】
- nyoj 737 石子合并(一) 区间dp
- NYOJ 737 石子合并(一)(区间dp)
- build maven项目时出现错误noclassdeffounderror:org/apache/tools/ant/DefaultLogger
- jqmobi跳转链接情况分析
- 画饼图
- Android并发编程之Handler,MessageQueue,Looper详解
- 数据库SQl语言最常用的字符串(String)函数
- nyoj+区间dp石子合并
- 在Visual Studio Code配置GoLang开发环境
- iOS本地通知
- C语言之数组
- Mybatis 延迟加载
- NULL指针、零指针、野指针---详解
- 创建精灵的方法
- Linux Cache Memory
- nyoj+区间dp整数划分