博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1579 (DP)
阅读量:4588 次
发布时间:2019-06-09

本文共 755 字,大约阅读时间需要 2 分钟。

题目:

 

题目说递归很费时,怎么办?

递归费时的一个很重要的原因就是很多子问题重复计算了,如果计算过的子问题保存下来,用时直接取来用。就是具备记忆能力的递归了,那样就比较快了。

状态转移方程就是题目的递归式了。

 

代码:

#include 
#include
#define N 21 int ans[N][N][N];int dp(int a,int b,int c); int main(){ int a,b,c; while( ~scanf("%d%d%d",&a,&b,&c) ) { if(-1 ==a && -1 == b && -1 ==c ) break; memset(ans,-1,sizeof(ans)); printf("w(%d, %d, %d) = %d\n",a,b,c,dp(a,b,c)); } return 0; } int dp(int a,int b,int c){ if( a<=0 || b<=0 || c<=0) return 1; if(a>20 || b>20 || c> 20) { if(-1 == ans[20][20][20] ) ans[20][20][20] = dp(20,20,20); return ans[20][20][20]; } if(a

 

 

 

转载于:https://www.cnblogs.com/HpuAcmer/archive/2012/05/08/2490720.html

你可能感兴趣的文章
Python复习基础篇
查看>>
关于Cocos2d-x中背景音乐和音效的添加
查看>>
.Net持续集成 —— Jenkins+Git+WebDeploy
查看>>
01_Numpy基本使用
查看>>
checkbox和文字对齐
查看>>
JConsole远程连接配置 服务器监控工具
查看>>
了解HTTP协议栈(实践篇)
查看>>
loj10035. 「一本通 2.1 练习 1」Power Strings
查看>>
%s的用法
查看>>
调用底层不能直接访问的类和方法
查看>>
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>
Vue 数组 字典 template v-for 的使用
查看>>