写一个记忆化 fib
补全 fib_memo:memo 里 -1 表示还没算。进函数先查 memo,算完先写 memo。把 fib(12) 的值和调用次数拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
只查不写等于没加
两个版本各算一次 fib(12),只输出两个调用次数:fib_bad 有查表那一句,但算完忘了写 memo;fib_cnt 是完全不加记忆化的朴素版。两个数用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
省了多少且结果必须一样
朴素版和记忆化版各算一次 fib(12),输出三样:朴素的调用次数 / 记忆化的调用次数 / 两者结果是否相同(相同输出 结果一致,否则 结果不一致)。 (本题用 g++ -std=c++17 -O0 编译。)
填表法和记忆化差在哪
第 1 步:先填好最小的两格 第 2 步:第 2 格 = 前两格相加 第 3 步:第 3 格 = 前两格相加 第 4 步:第 4 格 = 前两格相加 第 5 步:第 5 格 = 前两格相加 第 6 步:第 6 格 = 前两格相加 第 7 步
填表的顺序怎么定(C++)
决定 dp 表填写顺序的原则是【0】。
填表法比记忆化好在哪(C++)
自底向上填表相比记忆化搜索的好处是【0】。
填表版算出来是多少
用自底向上填表算 fib(12)。 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <ve
爬楼梯的表前几项
爬楼梯的 dp 表,dp[0] 表示「站着不动」也算一种走法。运行下面这段程序,看前六项: #include <algorithm> #include <iostream> #include <string&g
写一个填表版 fib
补全 fib_tab:开一个长度 n+1 的表,从小往大填,最后返回 dp[n]。输出 fib(12)。 (本题用 g++ -std=c++17 -O0 编译。)
写一个填表版爬楼梯
补全 climb:返回整张 dp 表。输出爬到第 10 级的走法数。 (本题用 g++ -std=c++17 -O0 编译。)