反演

二项式反演

\[g(n) = \sum_{i=0}^n f(i)\binom{n}{i} \iff f(n) = \sum_{i=0}^n \binom{n}{i}g(i)(-1)^{n-i} \]

证明如下:

\[f(n) = \sum_{i=0}^n [n-i=0] \binom{n}{i} f(i) \]

有式子为:

\(\sum_{i=0}^n (-1)^i \binom{n}{i} = [n=0]\)

代入原式:

\[\begin{aligned} f(n) &= \sum_{i=0}^n \sum_{m=0}^{n-i} \binom{n-i}{m} (-1)^m \binom{n}{i} f(i)\\&= \sum_{i=0}^n \sum_{m=0}^{n-i} (-1)^m f(i) \binom{n}{m}\binom{n-m}{i}\\&= \sum_{m=0}^n(-1)^m\binom{n}{m}g(n-m)\\&=\sum_{m=0}^n\binom{n}{m}g(m)(-1)^{n-m} \end{aligned} \]

有等价形式:

\[g(k) = \sum_{i=k}^n f(i)\binom{i}{k}\iff f(k) = \sum_{i=k}^n \binom{i}{k}g(i)(-1)^{i-k} \]

P4859 已经没有什么好害怕的了

恰好不好处理,将其处理成至少 \(k\)\(a<b\),设计 \(dp_{i,j}\) 表示前 \(i\) 中有 \(j\)\(a<b\) 的方案数,直接转移即可。反演得到 \(ans = \sum_{i=k}^n \binom{i}{k}g(i)(-1)^{i-k}\)

P6478 [NOI Online #2 提高组] 游戏

\(g(i)\) 表示非平局回合数至少为 \(i\) 的方案数,\(f(i)\) 表示非平局回合数恰好为 \(i\) 的方案数。则有 \(g(i) = \sum_{k=i}^m \binom{k}{i} f(k)\),进行二项式反演。\(g(i)\) 求解进行树形 dp,设 \(dp_{i,j}\) 表示以 \(i\) 为根子树非平局回合数至少为 \(j\)

P9850 [ICPC 2021 Nanjing R] Ancient Magic Circle in Teyvat

二项式反演转为至少 \(i\) 条边为红,只需求 \(\sum_{i=0}^5 g(i)(-1)^i\)

  • \(g(0) = \binom{n}{4}\)
  • \(g(1) = m \binom{n-2}{2}\)
  • \(g(2) = \sum (n-3)\binom{d_i}{2} + \binom{m}{2} - \sum \binom{d_i}{2}\),考虑对边和邻边,\(d_i\)\(i\) 度数
  • \(g(3) = \sum \binom{d_i}{3} + (n-3)c_3 + \sum_{(u,v)} (d_u-1)(d_v-1) - 3c_3\),考虑菊花,三元环,链,对于一个三元环,其每条边都会被链多计入一次,所以多计入三倍三元环个数,\(c_3\) 为三元环个数
  • \(g(4) = \sum ct_i (d_i-2) + c_4\),考虑三元环拉出去一条边,四元环。\(ct_i\) 为包含 \(i\) 的三元环个数。
  • \(g(5) = \sum_{(u,v)} \binom{cs(u,v)}{2}\),考虑两个三元环拼在一起,\(cs(u,v)\) 为包含 \((u,v)\) 的三元环个数。

将图重定向,度数小连向度数大,度数相同编号小连向编号大,有点出度 \(\le \sqrt{m}\)。三元环枚举最小的点,枚举一条出边,和 \(u\to v, v\to w\) 边。四元环枚举最大的点,拆成 \(v\to u, (v,w)\),这样总时间才为 \(m\sqrt{m}\)

子集反演

\[g(S) = \sum_{T \subset S} f(T) \iff f(S) = \sum_{T \subset S} (-1)^{|S|-|T|}g(T) \]

证明同二项式反演类似:

\[\begin{aligned} f(S) &= \sum_{T \subset S} [|S-T|=0] f(T) \\&= \sum_{T \subset S} \sum_{P \subset S-T} (-1)^{|P|} f(T) \\&=\sum_{P \subset S} (-1)^{|P|} \sum_{T \subset S-P} f(T) \\&= \sum_{P \subset S} (-1)^{|P|} g(S-P) \\&= \sum_{P \subset S} (-1)^{|S|-|P|} g(P) \end{aligned} \]

P6442 [COCI 2011/2012 #6] KOŠARE

子集反演。将恰好全部转为至多,设 \(dp_S\) 表示所选范围至多为 \(S\) 中方案数,只需要知道 \(A \setminus S\) 集合包含有多少元素即可,高维前缀和维护。反演得到 \(ans = \sum_{S} f(S)(-1)^{n-|S|}\)

AT_arc101_c [ARC101E] Ribbons on Tree

子集反演。设计出来 \(dp_{i,j}\) 表示 \(i\) 子树内 \(i\) 所在连通块大小为 \(j\)直接把容斥系数记录在 \(dp\),树形 dp 转移即可。

\(\min-\max\) 反演

\[\max(S) = \sum_{T \subset S} (-1)^{|T|+1} \min(T) \]

考虑最大值的贡献为 \(1\),非最大值的比其大的有 \(k\) 个数,从中选奇数个和偶数个的系数相同贡献为 \(0\)

其可以转化为期望形式:

\[E(\max(S)) = \sum_{T \subset S} (-1)^{|T|+1} E(\min(T)) \]

类似地,\(\operatorname{lcm}-\gcd\) 也可以使用上述式子。\(\gcd\) 本质为质因子的 \(\min\),而 \(\operatorname{lcm}\) 本质为质因子的 \(\max\)

可以进一步推广:

\[Kthmax(S) = \sum_{T \subset S} (-1)^{|T|-k} \binom{|T|-1}{k-1} \min(T) \]

证明考虑 \(\min(T)\) 在为 \(Kthmax(S)\) 时时贡献为 \(1\),其他的二项式系数奇偶相抵。更严谨的证明如下:

\[kmax(S) = \sum_{T \subset S} f(|T|,k) \min(T) \]

其中 \(f(|T|,k)\) 是容斥系数。将序列 \(A\) 从大到小排序,将 \(\min\) 替换掉。

\[kmax(S) = \sum_{i=k}^n A_i \sum_{j=k-1}^{i-1} \binom{i-1}{j} f(j+1,k) \]

我们希望只有当 \(i=k\) 时造成贡献,则有:

\[\begin{aligned} \sum_{j=k-1}^{i-1} \binom{i-1}{j}f(j+1,k) &= [i=k] \\ \sum_{j=k-1}^{i-1} \binom{i-1}{j}f(j+1,k) &= \sum_{j=0}^{i-k} \binom{i-k}{j} (-1)^j \\ \sum_{j=0}^{i-k} \binom{i-1}{j+k-1}f(j+k,k) &= \sum_{j=0}^{i-k} \binom{i-k}{j} (-1)^j \end{aligned} \]

经过观察,\(f(j,k) = (-1)^{j-k} \binom{j-1}{k-1}\),此时左边会多出 \(\binom{i-1}{k-1}\),发现不会对答案造成影响。证毕。

P3175 [HAOI2015] 按位或

\(\min - \max\) 反演。\(\min(S)\) 表示集合 \(S\) 中第一个被标记的步数,\(\max(S)\) 表示集合 \(S\) 中全部被标记的步数。 原问题即求 \(E(\max(U))\),可求出 \(E(\min(S))\),反演即可得到答案。注意分母为零时也是 INF

P4707 重返现世

\(E(kmax(S)) = \sum_{T \subset S} (-1)^{|T|-k} \binom{|T|-1}{k-1} E(\min(T))\)。有 \(k \le 10,m \times \min(T) \le 10^4,n \le 10^3\),则设计 \(dp_{i,k,j}\) 表示考虑前 \(i\) 个元素,在 \(K=k\) 时答案,概率之和为 \(j\)。若不选当前元素,有 \(dp_{i,k,j} \leftarrow dp_{i-1,k,j}\);若选择当前元素,则 \(|T|\) 会变大 \(1\),有 \(\binom{|T|}{k-1} = \binom{|T|-1}{k-1} + \binom{|T|-1}{k-2}\),则可以从 \(dp_{i-1,k,j-a_i}\)\(dp_{i-1,k-1,j-a_i}\) 转移,同时考虑 \((-1)^{|T|-k}\) 系数,有 \(dp_{i,k,j} \leftarrow -dp_{i-1,k,j-a_i} + dp_{i-1,k-1,j-a_i}\)

初值设置为 \(dp_{0,0,0}=0,dp_{0,k,0} = -1\),则 \(dp_{1}\) 中只有 \(dp_{1,1}\) 有值,符合状态。滚动数组优化即可。

AT_agc038_e [AGC038E] Gachapon

\(\min - \max\) 容斥,\(E(\max (S)) = \sum_{T \subset S} (-1)^{|T|+1} E(\min(T))\)此时 \(\min(T)\) 表示 \(T\) 集合内的数第一次被选中(即选择了 \(B_i\) 次)的期望。

有一个 trick 是求集合内数第一次被选中的期望步数,可以求每一步都未被选中(在这里即未选中 \(B_i\) 次)的概率之和(包括第 \(0\) 步)。 仔细思考发现这个本质做了一个差分状物。

现在开始求 \(\min(T)\),选中集合中的数的期望步数为 \(\dfrac{\sum{A_i}}{\sum_{i \in T} A_i}=P\)。选中集合 \(k\) 次都未选中任意一个数的概率相当于将 \(k\) 分成 \(|T|\) 份,要求每一份均 \(< B_i\),设 \(w(T) = \sum_{i \in T} A_i\),即 \(k!\sum_{i \in T,c_1 +\cdots c_{|T|} = k} \dfrac{A_i^{c_i}}{c_i!w(T)^{c_i}}\),设 \(r = \sum_{i \in T} (B_i-1)\),按照如上 trick 可求出 \(\min(T) = P \times \sum_{k=0}^{r} k! w(T)^{-k}\sum_{i \in T,c_1 +\cdots c_{|T|} = k} \dfrac{A_i^{c_i}}{c_i!}\)

由于 \(w(T)^{-k}\) 不好转移,于是记录 \(dp_{i,j,k}\) 表示考虑前 \(i\) 个元素,\(w(T)=j,\sum c_i=k\) 的答案。转移显然,初始状态为 \(dp_{0,0,0}=-1\),滚动数组优化即可。

斯特林反演

\[F(n) = \sum_{i=0}^n \left\{ \begin{matrix} n \\ i \end{matrix} \right\} G(i) \to G(n) = \sum_{i=0}^n (-1)^{n-i} \left[ \begin{matrix} n \\ i \end{matrix} \right] F(i) \]

\[F(n) = \sum_{i=n}^{+\infty} \left\{ \begin{matrix} i \\ n \end{matrix} \right\} G(i) \to G(n) = \sum_{i=n}^{+\infty} (-1)^{i-n} \left[ \begin{matrix} i \\ n \end{matrix} \right] F(i) \]

主要用于处理图联通问题。

Topcoder 13444 CountTables

只关心行限制忽略列限制答案为 \((c^m)^{\underline{n}}\),设 \(g(i)\) 表示至多 \(i\) 列不相同的方案数,有 \(g(i) = \left\{\begin{matrix} m\\i \end{matrix}\right\} (c^i)^{\underline{n}}\)。设 \(f(i)\) 表示恰好 \(i\) 列互不相同,则有 \(g(i) = \sum_{j=0}^i \left\{\begin{matrix} i\\j \end{matrix}\right\} f(j)\),由斯特林反演得 \(f(i) = \sum_{j=0}^i (-1)^{i-j} \left[\begin{matrix} i\\j \end{matrix}\right] g(i)\),答案为 \(f(m)\)

BZOJ 4671 异或图

\(g(i)\) 表示整个图至少 \(i\) 个连通块的方案数,\(f(i)\) 表示恰好 \(i\) 个连通块的方案数,有 \(g(i) = \sum_{k=i}^n \left\{\begin{matrix} k\\i \end{matrix}\right\} f(k)\),反演得 \(f(i) = \sum_{k=i}^n (-1)^{k-i}\left[\begin{matrix} k\\i \end{matrix}\right]g(k)\),答案为 \(f(1)\)。问题来到求出 \(g(i)\)

\(n\) 个点进行子集划分,将每个图中连接了不同子集点的边二进制位设成 \(1\),否则为 \(0\),答案即为集合异或为 \(0\) 的方案数,线性基求解,设线性基最后剩下的数个数为 \(c\),则答案为 \(2^{s-c}\)

单位根反演

\(F(x)\) 是一个 \(m\) 次多项式,\(F(x) = \sum_{i=0}^m f_ix^i\),则有:

\[\sum_{k=0}^m [n|k] f_k = \dfrac{1}{n} \sum_{i=0}^{n-1} F(w_n^{ik}) \]

单位根在模意义下与原根等价。

原根

对于 \(1\le x \le n-1\) 的所有 \(x\),若满足 \(x\)\(n\) 的阶为 \(\varphi(n)\),则称 \(x\)\(n\) 的原根。

\(\gcd(x,n)=1\),则由欧拉定理得 \(x^{\varphi(n)} \equiv 1 (\bmod n)\),则存在 \(x^y \equiv 1 (\bmod m)\),称最小的 \(y\)\(x\)\(n\) 的阶,\(\delta_n(x) = y\),其中 \(\delta_n(x)\)\(x\)\(n\) 的阶。

性质 \(1\)

若存在 \(x^n \equiv 1 (\bmod m)\),则有 \(\delta_m(x) | n\),使用带余除法证明。

性质 \(2\)

\[\delta_m(a^k) = \frac{\delta_m(a)}{\gcd(\delta_m(a), k)} \]

性质 \(3\)

\(n\) 的最小原根 \(\le n^{0.25}\)

性质 \(4\)

\(n\) 存在原根当且仅当 \(n = 1,2,4\)\(n=p^k\)\(n=2p^k\),其中 \(p\) 为奇素数。

则求出所有原根只需要先判断 \(n\) 是否有原根,若有则枚举 \(1 \sim n\),对于 \(\varphi(n)\) 的所有真因子 \(d\) 判断 \(i^d \equiv 1 (\bmod n)\) 是否成立,若成立则不是原根。这样可以实现 \(n^{0.25} \log n\) 时间找出最小原根 \(g\),然后对于所有 \(\gcd(p,\varphi(n))\)\(1 \le p \le \varphi(n)\)\(g^p \bmod n\) 就是其原根。所以有性质 \(5\)

性质 \(5\)

\(n\) 的原根数量为 \(\varphi(\varphi(n))\)

\(w_n^1 \equiv g^{\frac{p-1}{n}} (\bmod p)\),其中 \(p\) 为素数,\(g\)\(p\) 的最小原根,同时要求 \(n | p-1\)

一般情况下,\(p=998244353\)\(n\)\(2\) 的次幂。因为 \(p = 119\times 2^23+1\),更容易 \(n|p-1\),同时 \(998244353\) 的最小原根为 \(3\),更方便计算。

P5591 小猪佩奇学数学

下取整可以转化为范围内有多少整除的数。

\[\begin{aligned} \left\lfloor\dfrac{i}{k}\right\rfloor &= \sum_{j=0}^{i} [k|j]-1 \\&= \sum_{j=0}^i \dfrac{1}{k} \sum_{l=0}^{k-1} w^{lj} - 1 \end{aligned} \]

\(\sum_{i=0}^n \binom{n}{i}i=n2^{n-1}\)

\[\begin{aligned} ans &= \sum_{i=0}^n \binom{n}{i} p^i \sum_{j=0}^i \dfrac{1}{k} \sum_{l=0}^{k-1} w^{lj} - (p+1)^n \\&= \dfrac{1}{k} \sum_{i=0}^n \binom{n}{i} p^i \sum_{l=0}^{k-1}\sum_{j=0}^i w^{lj} - (p+1)^n \\&= \dfrac{1}{k} \sum_{i=0}^n \binom{n}{i}p^i\sum_{l=0}^{k-1} \dfrac{w^{il+l}-1}{w^l-1} - (p+1)^n \\&= \dfrac{1}{k} \sum_{l=0}^{k-1} \dfrac{w^l(w^lp+1)^n-(p+1)^n}{w^l-1} -(p+1)^n \end{aligned} \]

其中 \(w\)\(k\) 次单位根。

关于第二步为何将 \(l,j\) 求和顺序交换而不直接使用等比数列求和公式的原因为当 \(k|j\) 的时候分母为 \(0\),继而交换求和顺序只需要特判 \(l=0\) 即可。

loj6485 LJJ 学二项式定理

简单推式子,使用单位根反演加二项式定理。

\[\begin{aligned} \sum_{i=0}^n \left(\binom{n}{i} s^i a_{i \bmod 4} \right) &= \sum_{op=0}^{3} a_{op} \sum_{i=0}^n [4 | (i-op)] \binom{n}{i} s^i \\&= \sum_{op=0}^3 a_{op} \sum_{i=0}^n \dfrac{1}{4} \sum_{j=0}^3 w_4^{j(i-op)} \binom{n}{i} s^i \\&= \dfrac{1}{4} \sum_{op}^3 a_{op} \sum_{j=0}^3 \dfrac{1}{w_4^{j \times op}} \sum_{i=0}^n w_4^{ij} \binom{n}{i} s^i \\&= \dfrac{1}{4} \sum_{op}^3 a_{op} \sum_{j=0}^3 \dfrac{(w_4^js+1)^n}{w_4^{j \times op}} \end{aligned} \]

\(w_4^1 = g^{\frac{mod-1}{4}}\)\(998244353\) 最小原根为 \(3\),可直接计算。

莫比乌斯反演

了解莫比乌斯函数,\(\mu (n)\) 满足 \(n=1\) 时为 \(1\);若其存在平方因子为 \(0\);否则其质因数个数为奇数为 \(-1\),为偶数为 \(1\)

有重要性质:\([n = 1] = \sum_{i | n} \mu (i)\)。考虑容斥进行证明。关于 \(\gcd\) 的式子似乎只需要用到该性质而无需莫比乌斯反演。

以下均借鉴学习于 An_Account 大神的博客。

\(1\)

\(\sum_{i=1}^n \sum_{j=1}^m [\gcd(i,j) = 1](n < m)\)

关于 \(\gcd\) 一般做法为枚举 \(\gcd\)\(\gcd\) 的因子来交换求和顺序:

\[\begin{aligned} ans &= \sum_{i=1}^n \sum_{j = 1}^m \sum_{d | \gcd(i,j)} \mu(d) \\&= \sum_{d=1}^n \mu(d) \left\lfloor \dfrac{n}{d} \right\rfloor \left\lfloor \dfrac{m}{d} \right\rfloor \end{aligned} \]

下面式子显然可以整除分块做。

\(2\)

\(\sum_{i=1}^n \sum_{j=1}^m [\gcd(i,j) = k](n<m)\)

将式子都除以 \(k\),即 \(\sum_{i=1}^{\left\lfloor \frac{n}{k} \right\rfloor } \sum_{j=1}^{\left\lfloor \frac{m}{k} \right\rfloor } [\gcd(i,j) =1]\) 转化为上述题目。

\(3\)

\(\sum_{i=1}^n\sum_{j=1}^m ij[\gcd(i,j) =k](n<m)\)

同上然后转化:

\[\begin{aligned} ans &= \sum_{i=1}^{\left\lfloor \frac{n}{k} \right\rfloor } \sum_{j=1}^{\left\lfloor \frac{m}{k} \right\rfloor } ij [\gcd(i,j) =1] \\&=\sum_{d=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \mu(d) \sum_{i=1}^{\left\lfloor \frac{n}{dk} \right\rfloor} i \sum_{j=1}^{\left\lfloor \frac{m}{dk} \right\rfloor} j \end{aligned} \]

后者为等差数列,直接求解即可。

\(4\)

\(\sum_{i=1}^n \sum_{j=1}^m \operatorname{lcm}(i,j) (n<m)\)

先考虑 \(O(n) - O(n)\)

\[\begin{aligned} ans &= \sum_{i=1}^n \sum_{j=1}^m \dfrac{ij}{\gcd(i,j)} \\&= \sum_{d=1}^n \sum_{i=1}^n \sum_{j=1}^m [\gcd(i,j) = d] \dfrac{ij}{d} \\&= \sum_{d=1}^n \sum_{i=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \sum_{j=1}^{\left\lfloor \frac{m}{d} \right\rfloor} [\gcd(i,j) = 1]ijd \\&= \sum_{d=1}^n \sum_{i=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \sum_{j=1}^{\left\lfloor \frac{m}{d} \right\rfloor} \sum_{k | \gcd(i,j)} \mu(k) ijd \\&= \sum_{d=1}^n d \sum_{k=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \mu(k) k^2 \sum_{i=1}^{\left\lfloor \frac{n}{dk} \right\rfloor}i\sum_{j=1}^{\left\lfloor \frac{m}{dk} \right\rfloor} j \end{aligned} \]

\(\left\lfloor \frac{n}{d} \right\rfloor\) 分块,同时对 \(\left\lfloor \frac{n}{dk} \right\rfloor,\left\lfloor \frac{m}{dk} \right\rfloor\) 分块,预处理 \(\mu(k)k^2\) 前缀和即可做到 \(O(n) - O(n)\)

这就结束了?

\(T= dk,f(n) = \sum_{i=1}^n i\),则原式等于:

\[\begin{aligned} ans &= \sum_{d=1}^n d \sum_{k=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \mu(\dfrac{T}{d}) \dfrac{T^2}{d^2} f(\left\lfloor \frac{n}{T} \right\rfloor)f(\left\lfloor \frac{m}{T} \right\rfloor) \\&= \sum_{T=1}^n f(\left\lfloor \frac{n}{T} \right\rfloor) f(\left\lfloor \frac{m}{T} \right\rfloor) \sum_{k | T} \mu(k)kT \end{aligned} \]

\(\sum_{k | T} \mu(k)k\) 单独提出来,设 \(h(n) = \sum_{k | n} \mu(k) k,f(n) = \sum_{k|n} \mu(k),g(n) = \sum_{k|n} k\),则有 \(h = fg\),由于积性函数具有封闭性,故 \(h\) 也为积性函数。考虑使用线性筛预处理 \(h\)。则需要处理一个问题,即 \(p\) 为质数,且 \(p | n\),则 \(h(np)\) 的值如何求。

发现 \(np\) 因子质因数分解后,若 \(p\) 该项次数未满,则其为 \(n\) 的因子;若满了则其莫比乌斯函数为 \(0\)。所以有 \(h(np) =h(n)\)。所以就可以线性预处理出来 \(h\) 前缀和。

将上述式子分块后即可做到 \(O(n) - O(\sqrt{n})\)

\(5\)

\(\sum_{i=1}^n \sum_{j=1}^m d(ij) \ (n<m)\),其中 \(d(i)\) 表示 \(i\) 的约数个数。

有性质 \(d(ij) = \sum_{x|i}\sum_{y|j} [\gcd(x,y)=1]\)。考虑对于其一个质因子 \(p\) 考虑。

\(f(i,p)\) 表示 \(i\) 中包含质因子 \(p\) 的个数,则有 \(f(ij,p) = f(i,p)+f(j,p)\)。而想要使 \(\gcd(x,y) =1\),就需要 \(f(x,p)=0,f(y,p)=[0,f(j,p)]\)\(f(x,p) = [0,f(i,p)],f(y,p)=0\),总共为 \(f(i,p)+f(j,p)+1=f(ij,p)+1\) 种情况,与 \(d(ij)\) 计算方法相同,即质因数幂次加一之积。

则原式可化为:

\[\begin{aligned} ans &= \sum_{i=1}^n \sum_{j=1}^m \sum_{x|i}\sum_{y|j} \sum_{d | \gcd(x,y)} \mu(d) \\&= \sum_{d=1}^n \mu(d) \sum_{x=1}^{\left\lfloor \frac{n}{d} \right\rfloor} \left\lfloor \frac{n}{dx} \right\rfloor \sum_{y=1}^{\left\lfloor \frac{m}{d} \right\rfloor}\left\lfloor \frac{m}{dy} \right\rfloor \end{aligned} \]

\(f(n) = \sum_{i=1}^n \left\lfloor \frac{n}{i} \right\rfloor\),发现 \(\left\lfloor \frac{n}{i} \right\rfloor\) 其实是 \([1,n]\)\(i\) 的倍数个数,则 \(f(n)\) 表示 \([1,n]\) 的因数个数和,所以 \(f(n)=f(n-1)+d(n)\),线性筛的同时处理 \(d(n)\) 即可做到 \(O(n)\) 预处理 \(f\) 数组。故最终为 \(O(n) - O(\sqrt{n})\)

还有两个练习,要启动了,也鸽一下。

posted @ 2026-06-16 19:05  ask_silently  阅读(7)  评论(1)    收藏  举报