Light OJ 1223 Testing Mailboxes (DP)
2016-04-04 16:57
633 查看
解析:记忆化一下就好,整体的复杂度是小于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; }
相关文章推荐
- 10014---Trail ~ CronJobs
- 31.offsetof宏与container_of宏
- HDU 5235 Friends (2015 Multi-University Training Contest 2 搜索+剪枝)
- POJ 2010 Moo University - Financial Aid
- 【BZOJ-2434】阿狸的打字机 AC自动机 + Fail树 + DFS序 + 树状数组
- linker command failed with exit code 1)错误总结
- 70. Climbing Stairs
- 本地socket unix domain socket
- 杭电1022Train Problem I
- A. Dreamoon and Stairs(Codeforces Round #272)
- QPainter 使用注意事项
- 杭电1021Fibonacci Again
- 解决sublimeText3无法安装插件有关问题 - There are no packages available for installation
- LeetCode Palindrome Pairs
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- Tensorflow 官方版教程中文版
- 解决time_wait过多的问题
- 2016微软开发者大会 - 简洁收集
- 70. Climbing Stairs
- RAID各级别特性