hdu 1331||1579 Function Run Fun(记忆化)
来源:互联网 发布:剑灵力士女捏脸数据图 编辑:程序博客网 时间:2024/05/19 06:38
我开始写了个循环求解的,但是错的, 然后我又改了下, 还是不对; 但是我感觉这个和背包问题差别不大, 应该能用循环球出的吧……如果哪位同学知道,请指点一下……
记忆化递归代码:
#include<iostream>using namespace std;int w[21][21][21];int DP(int i, int j, int k){if( i<=0 || j<=0 || k<=0) return 1;if( i>20 || j>20 || k>20) return DP(20,20,20);//关键:这是记忆化的关键,如果去掉,和纯递归一样的if( w[i][j][k]!=-1) return w[i][j][k]; else { if( i<j && j<k) w[i][j][k]=DP(i,j,k-1)+DP(i,j-1, k-1)-DP(i,j-1, k); else w[i][j][k]=DP(i-1,j, k)+DP(i-1,j-1, k)+DP(i-1,j,k-1)-DP(i-1,j-1,k-1);}return w[i][j][k];}int main(){int a, b, c; memset(w, -1, sizeof(w)); while( cin>>a>>b>>c && !(a==-1 && b==-1 && c==-1)) { cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<DP(a, b, c)<<endl; }}
#include<iostream>using namespace std;int w[21][21][21];int main(){int a, b, c;int i, j, k, ans;w[0][0][0]=1;w[0][0][1]=w[0][1][0]=w[1][0][0]=1;w[0][1][1]=w[1][0][1]=w[1][1][0]=1;for(i=1; i<=20; i++) for(j=1; j<=20; j++) for(k=1; k<=20; k++) { if( i<j && j<k) w[i][j][k]=w[i][j][k-1]+w[i][j-1][k-1]-w[i][j-1][k]; else w[i][j][k]=w[i-1][j][k]+w[i-1][j-1][k]+w[i-1][j][k-1]-w[i-1][j-1][k-1]; } while( cin>>a>>b>>c && !(a==-1 && b==-1 && c==-1)) { if( a<=0 || b<=0 || c<=0) ans=1; else if(a>20 || b>20 || c>20)ans=w[20][20][20]; else ans=w[a][b][c]; cout<<"w("<<a<<", "<<b<<", "<<c<<") = "<<ans<<endl; }}
- hdu 1331||1579 Function Run Fun(记忆化)
- 【HDU 1331 Function Run Fun】+ 记忆搜索
- [递归理解/记忆化] HDU/HOJ 1331 Function Run Fun
- hdu 1331 Function Run Fun(记忆化搜索)
- HDU--1331--Function Run Fun--记忆化搜索
- HDU 1331 Function Run Fun (基础记忆化搜索)
- HDU 1331 Function Run Fun(记忆化搜索)
- Hdu oj 1331 Function Run Fun(记忆化搜索)
- HDU-1331-Function Run Fun(记忆化搜索,dp)
- 【HDU】1331 - Function Run Fun(记忆化递归)
- HDU-1331 Function Run Fun (记忆化搜索)
- HDU--1579 -- Function Run Fun [记忆化搜索] [深搜]
- hdu 1579 Function Run Fun 记忆化dp搜索
- HDU 1579 Function Run Fun(记忆化搜索)
- (hdu 1579)Function Run Fun (记忆化搜索)
- hdu acm 1331 1579 Function Run Fun
- Function Run Fun (HDU 1331) —— 记忆化搜索DP
- hdu 1331 Function Run Fun
- 《Oracle编程艺术》学习笔记(37)-数据类型-LOB
- 图解vs2008打包全过程,含卸载功能的介绍
- Bootloader常用参数及在NAND FLASH里固化嵌入式系统
- 什么是源型 漏型?什么是上拉电阻?下拉电阻?什么是 线驱动输出 集电极开路输出,推挽式输出?
- 使用eclipse编写Hadoop应用程序
- hdu 1331||1579 Function Run Fun(记忆化)
- VS2010安装包制作
- Linux 性能监测工具
- Janrain 使用文档
- 将图片嵌入程序文件的一点研究
- Error: Ran out of space in ROM for simsun.ac3
- 游戏引擎开发之路
- 直接在手机桌面上建立应用的快捷方式
- 提高网站性能