三种写法算出同一个数
把朴素递归、记忆化、填表三种写法都用上,各算一次 fib(12)。输出四样:三个结果,再加一句是否全都相同(相同输出 结果一致,否则 结果不一致),用 / 拼起来。 (本题用 g++ -std=c++17 -O0 编译。)
爬到第几级 int 就装不下
爬楼梯的走法数用 int 存,大约从【0】开始就装不下了。
计数 DP 的取模什么时候做
题目要求结果对 10^9+7 取模,计数 DP 里应该【0】。
int 溢出时程序会怎样
第 1 步:int 最多装约 21 亿 第 2 步:44 级:还装得下 第 3 步:45 级:还装得下 第 4 步:46 级:超了 第 5 步:47 级:超了 第 6 步:换 long long 才装得下 44级 45级 46级 47级 走
爬 50 级用 long long
用 long long 存表,爬 50 级有几种走法? 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #incl
边算边取模的结果
爬 1000 级的走法数对 10^9+7 取模。 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include
爬 60 级要用 long long
补全:把表的类型换成能装下的类型,输出爬 60 级的走法数。 (本题用 g++ -std=c++17 -O0 编译。)
每一步都取模
补全:爬 100000 级的走法数对 10^9+7 取模。每一步加完就取模,不要等到最后。 (本题用 g++ -std=c++17 -O0 编译。)
网格路径数要 long long
补全:在 20 × 20 的网格里,从左上角只往右、往下走到右下角,有几条路?dp[i][j] = 上面 + 左边。 (本题用 g++ -std=c++17 -O0 编译。)
阶乘取模先转大类型
补全:求 20! 对 10^9+7 取模。dp[i] = dp[i-1] × i 取模——乘法那一步别在 int 里做。 (本题用 g++ -std=c++17 -O0 编译。)