From ff76d59ca19af5c34a1c6be4e7c6ddb221b8583a Mon Sep 17 00:00:00 2001 From: 24OI-bot <15963390+24OI-bot@users.noreply.github.com> Date: Sun, 8 Nov 2020 06:44:55 -0500 Subject: [PATCH] style: format markdown files with remark-lint --- docs/math/inverse.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/math/inverse.md b/docs/math/inverse.md index 32350305..42f623e1 100644 --- a/docs/math/inverse.md +++ b/docs/math/inverse.md @@ -82,13 +82,12 @@ $$ ???+note "代码实现" ```cpp inv[1] = 1; - for (int i = 2; i <= n; ++i) - inv[i] = (long long)(p - p / i) * inv[p % i] % p; + for (int i = 2; i <= n; ++i) inv[i] = (long long)(p - p / i) * inv[p % i] % p; ``` 使用 $p-\lfloor \dfrac{p}{i} \rfloor$ 来防止出现负数。 -另外我们注意到我们没有对 `inv[0]` 进行定义却可能会使用它:当 $i | p$ 成立时,我们在代码中会访问 `inv[p % i]`,也就是 `inv[0]`,这是因为当 $i | p$ 时不存在 $i$ 的逆元 $i^{-1}$。[线性同余方程](./linear-equation.md) 中指出,如果 $i$ 与 $p$ 不互素时不存在相应的逆元(当一般而言我们会使用一个大素数,比如 $10^9 + 7$ 来确保它有着有效的逆元)。因此需要指出的是:如果没有相应的逆元的时候,`inv[i]` 的值是未定义的。 +另外我们注意到我们没有对 `inv[0]` 进行定义却可能会使用它:当 $i | p$ 成立时,我们在代码中会访问 `inv[p % i]` ,也就是 `inv[0]` ,这是因为当 $i | p$ 时不存在 $i$ 的逆元 $i^{-1}$ 。 [线性同余方程](./linear-equation.md) 中指出,如果 $i$ 与 $p$ 不互素时不存在相应的逆元(当一般而言我们会使用一个大素数,比如 $10^9 + 7$ 来确保它有着有效的逆元)。因此需要指出的是:如果没有相应的逆元的时候, `inv[i]` 的值是未定义的。 另外,根据线性求逆元方法的式子: $i^{-1} \equiv -kj^{-1} \pmod p$ @@ -131,4 +130,7 @@ $$ [「AHOI2005」洗牌](https://www.luogu.com.cn/problem/P2054) [「SDOI2016」排列计数](https://loj.ac/problem/2034) + +$$ + $$ -- 2.11.0