补全:去掉当前模数

补全 crt:Mi 是 M 去掉当前这个模数。补全后解 x≡1 (mod 3)、x≡2 (mod 4)。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。 (本题用 g++ -

开始练习 →

补全:乘上 Mi 的逆元

补全 crt:每一项要乘 Mi 关于 mi 的逆元。补全后解 x≡1 (mod 3)、x≡4 (mod 5)。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。 (本题用 g+

开始练习 →

补全:累加初值

补全 crt:累加器 x 从 0 开始。补全后解三个方程 x≡2 (mod 3)、x≡3 (mod 5)、x≡2 (mod 7)。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起

开始练习 →

矩阵快速幂加速什么

第 1 步:R 从单位矩阵开始 第 2 步:第 0 位是 1:R 乘上 A 第 3 步:A 自己平方 第 4 步:第 1 位是 0:R 不动 第 5 步:A 自己平方 第 6 步:第 2 位是 1:R 乘上 A 第 7 步:R 右上角就是第

开始练习 →

斐波那契的转移矩阵

斐波那契的转移矩阵是 [[1,1],[1,【0】]]。 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。

开始练习 →

第 10 个斐波那契数

运行下面这段程序: 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。 #include <array> #include <iostream> #include <string>

开始练习 →

第 20 个斐波那契数

运行下面这段程序: 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。 #include <array> #include <iostream> #include <string>

开始练习 →

补全:单位矩阵初值

补全 fib:结果矩阵 R 的初值是单位矩阵。补全后输出第 10 个斐波那契数。 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

补全:转移矩阵

补全 fib 的转移矩阵 A。补全后输出第 15 个斐波那契数。 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

补全:把 A 乘进 R

补全 fib:n 的这一位是 1 时,把 A 乘进 R。补全后输出第 20 个斐波那契数。 本节模型:fib(n, p) 用 2×2 矩阵快速幂求第 n 个斐波那契数。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →