【发布时间】:2013-08-02 14:25:29
【问题描述】:
double R(int N, int x[206], int i, int c){
if (memo[i][c] != 0) return memo[i][c];
if (i==N){
if (c>=23) return 1;
else return 0;
}
double s;
s = R(N,x,i+1,c+x[i]);
s += R(N,x,i+1,c-x[i]);
memo[i][c] = s;
return s;
}
现在这是一个递归记忆函数,但如果可能,我想将其转换为迭代等效 DP。或者这是我能做到的唯一方法?
【问题讨论】:
-
一堆
goto和stack可以模拟递归。 -
不知道x的内容和常数N是很困难的。
-
N为整数,最大可达206左右,x为任意整数数组
标签: c++ recursion dynamic-programming memoization