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

本文共 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

你可能感兴趣的文章
CentOS 7安装最新版本Git
查看>>
DTW的原理及matlab实现
查看>>
jQuery EasyUI API 中文文档 - 对话框(Dialog)
查看>>
在Android8.0以上收不到广播问题(AppWidget)
查看>>
SCOI2010 传送带 [三分/模拟退火]
查看>>
C#读取文件,返回字符串形式的文件内容
查看>>
卸载软件时出现的“不能够打开文件INSTALL.LOG”错误-清理注册表即可
查看>>
R学习笔记(3):绘图
查看>>
类的封装
查看>>
命名空间的定义
查看>>
Android 中Json解析的几种框架(Gson、Jackson、FastJson、LoganSquare)使用与对比
查看>>
byte[]与各种数据类型互相转换示例
查看>>
swift 自定义TabBarItem
查看>>
Android 仿网易新闻v3.5:上下滑动的引导页
查看>>
php解析二维码
查看>>
Fragment 的生命周期及使用方法详解
查看>>
注意错误zoj2110-Tempter of the Bone
查看>>
Android中级第八讲--安卓子线程,以及定时任务使用讲解
查看>>
一对多的两个表,查询主表的信息和主表在子表中的记录条数
查看>>
主题演讲:未来新趋势电动车
查看>>