uestc886方老师金币堆【区间dp】
来源:互联网 发布:keep软件下载电视 编辑:程序博客网 时间:2024/05/15 21:23
方老师金币堆
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
虽然方老师赚到了很多钱,但是有些钱却非常难处理,经常会有人会以一大袋金币的方式来支付方老师的演讲报酬。现在方老师家里已经放置了
注意:开始时第
Input
输入有多组数据
每组数据第一行有
每组数据第二行
Output
输出
Sample input and output
41 1 1 1
8
Source
2014 UESTC Training for Dynamic Programming
解题思路:区间dp同石子合并不过石子合并是一排本题是一个环在将数在延长一倍即可
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<list>#include<queue>#include<vector>#include<cmath>#define inf 0x3f3f3f3fusing namespace std;const int maxn=210;int dp[maxn][maxn];int sum[maxn],num[maxn];int main(){int n,i,j,k;while(scanf("%d",&n)!=EOF){for(i=1;i<=n;++i){scanf("%d",&num[i]);sum[i]=sum[i-1]+num[i];}for(i=1;i<=n;++i){sum[i+n]=sum[n+i-1]+num[i];}memset(dp,0,sizeof(dp));for(int len=2;len<=n;++len){for(i=1;i<=2*n-len+1;++i){j=i+len-1;dp[i][j]=inf;for(k=i;k<j;++k){dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1]);}}}int ans=inf;for(i=1;i<=n;++i){ans=min(ans,dp[i][n+i-1]);}printf("%d\n",ans);}return 0;}
0 0
- uestc886方老师金币堆【区间dp】
- 【堆+区间DP】Orz细菌(orz)
- 方莹老师简介
- CDOJ 方老师开橙卡
- UESTC 方老师开橙卡
- 方老师与素数
- 方老师与素数
- 区间DP
- 区间DP
- 区间DP
- 区间DP
- ##区间dp##
- 区间dp
- 区间DP
- 区间dp
- 区间dp
- 区间dp
- 区间dp
- 动态添加方法,添加协议
- Spring Mvc问题之session存取出现错误问题
- 利用DexClassLoader动态加载dex文件
- iOS-Bug收集:You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated
- Java反射机制
- uestc886方老师金币堆【区间dp】
- 优化算法——坐标上升法
- Wifidog的协议梳理
- Java类的初始化顺序
- 第二章、1.一切都是对象
- 使用Moq修改默认的ASP.NET MVC项目单元测试
- Intellij:java web找不到WEB-INF下的文件
- 数据文件在物理层面被删除导致数据库打不开
- ios app: 使用企业license设置发布app的过程