Light OJ 1223 Testing Mailboxes (DP)
来源:互联网 发布:电子产品设计软件 编辑:程序博客网 时间:2024/06/06 22:44
解析:记忆化一下就好,整体的复杂度是小于10^8的。
[code]:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int INF = 0x3f3f3f3f;int n,m,dp[105][105][105];void init(){ int i,l,r; memset(dp,-1,sizeof(dp)); for(i = 1;i <= 100;i++){ for(l = 1;l <= 100;l++){ dp[i][l][l] = l; dp[i][l][l+1] = 2*l+1; } } for(l = 1;l <= 100;l++){ for(r = l;r <= 100;r++){ dp[1][l][r] = (r-l+1)*(l+r)/2; } }}int dfs(int i,int l,int r){ if(r < l) return 0; if(dp[i][l][r]!=-1) return dp[i][l][r]; dp[i][l][r] = INF; for(int k = l;k <= r;k++){ dp[i][l][r] = min(dp[i][l][r],k+max(dfs(i-1,l,k-1),dfs(i,k+1,r))); } return dp[i][l][r];}int main(){ int i,j,cas; init(); scanf("%d",&cas); for(int T=1;T<=cas;T++){ scanf("%d%d",&n,&m); printf("Case %d: %d\n",T,dfs(n,1,m)); } return 0;}
0 0
- Light OJ 1223 Testing Mailboxes (DP)
- Light oj 1223 - Testing Mailboxes(记忆化)
- lightoj-1223-Testing Mailboxes 区间dp
- lightoj 1223 - Testing Mailboxes 区间DP
- light oj 1032 数位DP
- light OJ 1205 数位DP
- light OJ 1068 数位DP
- light oj 1140 数位dp
- light oj 1422,区间dp
- Light OJ 1231(背包dp)
- light oj 1068(数位dp)
- light oj 1422(区间dp)
- light oj 1025 区间dp
- light oj 1032(数位dp)
- Light OJ 1038(概率DP)
- Light OJ 1031 区间dp
- light oj 1004 水DP
- light oj 1248 概率dp
- Struts2 validation 错误信息重复不消失的问题
- Mtalab统计信息处理的一些原理
- java 数字证书生成及证书的加密解密
- 个十百的应用实例
- 深入理解java中的synchronized关键字
- Light OJ 1223 Testing Mailboxes (DP)
- 根据主机名获取IP地址
- iOS开发之数据库Sqlite
- 杭电2717
- STL string的常用函数
- HDU 2099 整除的尾数(暴力模拟)
- SQLite简单使用
- 第一篇博客 测试
- 简化理解之:关键字synchronize