三种写法算出同一个数

把朴素递归、记忆化、填表三种写法都用上,各算一次 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 编译。)

开始练习 →