补全:连乘要分步取模
补全 C(n, k):三个都接近 10^9 的数不能直接连乘,每乘一次就要取模。补全后输出 C(10^6, 3×10^5)。 本节模型:fact、inv_fact 两个全局数组开到 10^6,prepare() 顺着乘出阶乘、倒着推出阶乘逆
CRT 解决什么问题
第 1 步:在 0~9 里找 x 第 2 步:先圈出除以 3 余 2 的 第 3 步:其余的排除 第 4 步:再挑除以 5 余 3 的:唯一 第 5 步:每 15 个数里恰好一个 0 1 2 3 4 5 6 7 8 9 中国剩余定理解决的是
标准 CRT 的前提
标准 CRT 要求各模数【0】。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。
CRT 解落在哪
模数乘积为 M,CRT 的解在【0】内唯一。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。
解一组同余方程
运行下面这段程序: 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。 #include <array> #include <iostream> #inc
补全:模数乘积
补全 crt:M 是所有模数的乘积。补全后解 x≡2 (mod 3)、x≡3 (mod 5)。 本节模型:crt(rs, ms) 模数两两互质时,把每个方程的贡献 rs[i]·Mi·(Mi 的逆元) 加起来。 (本题用 g++ -std=c
补全:去掉当前模数
补全 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 右上角就是第