数学记录(无码)

数学记录(有码)

多项式全家桶

多项式

定义

形如 \(\sum a_nx^n\) 的求和式若为有限项相加,那么称作多项式 记作\(f(x)=\sum_{n=0}^m a_nx^n\)

对于如 \(\sum_{n=0}^{\infty}a_nx^n\) 有一个非负整数次幂乘以一个常数,称作幂级数

运算

加减运算

两个多项式 \(F(x)=\sum_{n\geq0}a_nx^n\)\(G(x)=\sum_{n\geq0}b_nx^n\)

\[F(x)\pm G(x)=\sum_{n\geq0}(a_n\pm b_n)x^n \]

卷积(乘法)

两个多项式 \(F(x)=\sum_{n\geq0}a_nx^n\)\(G(x)=\sum_{n\geq0}b_nx^n\)

\[F(x)\times G(x)=\sum_{i\geq0}a_ix^i \sum_{j\geq0}b_jx^j\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{n\geq0}x^n\sum_{i\geq0}a_ib_{n-i} \]

FFT

单位根

对于 \(n\) 次单位根为 \(\omega_n\) 表示在复平面上以原点为圆心的半径为1的园,并从实部正半轴开始逆时针将园 \(n\) 等分后的原点与第一个 \(n\) 等分点构成的复数。

在弧度制下,该角弧度为 \(\frac{2\pi}{n}\) ,那么

\[\omega_n^k=\cos (k\times \frac{2\pi}{n}) +i\sin (k\times \frac{2\pi}{n}) \]

那么可以推导出:

\[(\omega_n^n)=(\omega_n^0)=1\\ \omega_{2n}^{2k}=\cos(2k\times\frac{2\pi}{2n})+i\sin(2k\times\frac{2\pi}{2n})=\omega_n^k\\ \omega_n^{\frac{n}{2}}=\cos(\frac{n}{2}\times\frac{2\pi}{n})+i\sin(\frac{n}{2}\times\frac{2\pi}{n})=\cos(\pi)+i\sin(\pi)=-1\\ \omega_n^{k+\frac n2}可以理解为在选择\frac{2k\pi}n 的基础上继续旋转\frac{2\pi \frac{n}2}{n}=\pi,即多旋转180^\circ,\\从向量的角度看,可以感性理解为其相乘,则\omega_n^{k+\frac n2}=-\omega_n^{k} \]

\[(\omega_n^k)^2=(\cos (k\times \frac{2\pi}{n}) +i\sin (k\times \frac{2\pi}{n}))\times(\cos (k\times \frac{2\pi}{n}) +i\sin (k\times \frac{2\pi}{n}))\\ =\cos^2(k\times \frac{2\pi}{n})-\sin^2(k\times \frac{2\pi}{n}) +i2\cos(k\times \frac{2\pi}{n})\sin(k\times \frac{2\pi}{n})\\ \\\because \begin{bmatrix} \cos \alpha&-\sin\alpha\\ \sin \alpha&\cos\alpha\\ \end{bmatrix} \begin{bmatrix} \cos \alpha\\ \sin \alpha \end{bmatrix}= \begin{bmatrix} \cos^2\alpha-\sin^2\alpha\\ 2\cos\alpha\sin\alpha\\ \end{bmatrix}\\ \therefore \cos 2\alpha=\cos^2\alpha-\sin^2\alpha\\ \sin 2\alpha=2\cos\alpha\sin\alpha\\ \therefore(\omega_n^k)^2=\cos(2k\times\frac{2\pi}{n})+i\sin(2k\times\frac{2\pi}{n})=\omega_n^{2k} \]

\[可以感性理解一下(\omega_n^i)(\omega_n^j)=(\omega_n^{i+j}),因为其可以看作向量旋转 \]

DFT

考虑将这 \(n\)\(n\) 次单位根带入一个 \(n\) 次多项式,获得其点值表示法,复杂度肯定是 \(O(n^2)\) ,但是如果对下标进行奇偶性分离:

\[A(x)=\sum_{i=0}^{n-1} a_ix^i=a_0+a_1x^1+a_2x^2+\dots +a_{n-2}x^{n-2}+a_{n-1}x^{n-1}\\ =a_0+a_2x^2+\dots+a_{n-2}x^{n-2} \\+a_1x^1+a_3x^3+\dots+a_{n-1}x^{n-1}\\ 令A_1(x)=a_0+a_2x^1+\dots+a_{n-2}x^{\frac n2-1}\\A_2(x)=a_1+a_3x^1+\dots+a_{n-1}x^{\frac n2-1}\\ 那么A(x)=A_1(x^2)+xA_2(x^2)\\ 将其中一个单位根 \omega_n^k \ (k<\frac n2) 带入:\\ A(\omega_n^k)=A_1((\omega_n^k)^2)+\omega_n^kA_2((\omega_n^k)^2)\\ =A_1(\omega_n^2k)+\omega_n^kA_2(\omega_n^2k)\\ 若将\omega_n^{k+\frac n2}带入:\\ A`(-\omega_n^k)=A_1(\omega_n^2k)-\omega_n^kA_2(\omega_n^2k)\\ \]

我们可以发现,\(A\)\(A`\) 只有一个常数项不同,所以在求 \(A\) 时可以 \(O(1)\) 算出第二个,所以 \(k\) 的取值范围时 \([0,\frac n 2-1]\) ,然后发现 \(A_1,A_2,A\) 的性质相同,所以可以递归转化,复杂度为 \(O(n\log_2 n)\)

IDFT

现在已知 \((y_0,y_1,y_2,\dots,y_{n-1})\)\((a_0,a_1,a_2,\dots,a_{n-1})\) 的点值表示法。

假设有个向量 \((c_0,c_1,c_2,\dots,c_{n-1})\) ,即多项式 \(B(x)=\sum\limits_{i=0}^{n-1}y_ix^i\)\((\omega_n^0,\omega_n^{-1},\omega_n^{-2},\dots,\omega_n^{-(n-1)})\) 上的值。

那么:

\[\begin{aligned} c_k&=\sum_{i=0}^{n-1}y_i(\omega_n^{-k})^i\\ &=\sum_{i=0}^{n-1}(\sum_{j=0}^{n-1}a_j(\omega_n^i)^j)(\omega_n^{-k})^i\\ &=\sum_{i=0}^{n-1}(\sum_{j=0}^{n-1}a_j(\omega_n^i)^j(\omega_n^{-k})^i)\\ &=\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}a_j(\omega_n^i)^j(\omega_n^{-k})^i\\ &=\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}a_j(\omega_n^j)^i(\omega_n^{-k})^i\\ &=\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}a_j(\omega_n^{j-k})^i\\ &=\sum_{j=0}^{n-1}a_j\sum_{i=0}^{n-1}(\omega_n^{j-k})^i\\ \end{aligned} \]

\[设S(x,n)=\sum_{i=0}^{n-1}x^i\\ 当x=\omega_n^k时:\\ S(\omega_n^k,n)=1+(\omega_n^k)+(\omega_n^k)^2+\dots+(\omega_n^k)^{n-1}\\ (\omega_n^k)S(\omega_n^k,n)=(\omega_n^k)+(\omega_n^k)^2+(\omega_n^k)^3+\dots+(\omega_n^k)^n\\ 两式相减:\\ (\omega_n^k-1)S(\omega_n^k,n)=(\omega_n^k)^n-1\\ S(\omega_n^k,n)=\frac{(\omega_n^k)^n-1}{\omega_n^k-1}\\ \therefore S(\omega_n^k,n)=\frac{1-1}{\omega_n^k-1}\\ 但是在k=0时S(\omega_n^k,n)=n\\ 所以在原式c_k=\sum_{j=0}^{n-1}a_j\sum_{i=0}^{n-1}(\omega_n^{j-k})^i\\ 当i\neq k时,后一个\sum中值为0\\ 当i= k时,后一个\sum中值为n\\ 故c_k=na_k\\ a_k=\frac{c_k}{n} \]

总结

那么两个多项式相乘可以先将其分别转化为点值表示法,然后对于位置相乘得到结果的点值表示法,然后在跑一遍那个将多项式转化为点值的函数,将点值转化为多项式,最后依据 \(IDFT\) 除以即可。

实际上对于上述算法还可以进行优化,就是不递归的写法。

因为我们发现一个数的位置是其元下标二进制翻转后的位置,所有可以预处理然后枚举长度合并。

NTT

原根

将最小的满足 \(a^l\equiv1\pmod p\)\(l\) 称作 \(a\) 在模 \(p\) 意义下的

如果 \(g\) 在模 \(p\) 意义下的阶是 \(\varphi(p)\),那么称 \(g\)\(p\)原根

求原根可以这样做:如果 \(\gcd(g,p)=1\),设 \(p_1,p_2 \dots p_k\)\(p\) 的所有质因子,如果 \(g\)\(p\) 的原根就满足对于任意 \(i\in[1,k],g^{\frac{\varphi(p)}{p_i}}\not\equiv1\pmod p\)

可以发现原根有一个非常优秀的性质就是对于在 \(1\)\(\varphi(p)\) 中的任意一个幂次都是不一样的,而且是以 \(\varphi(p)\) 为长度的一个循环节,这与 \(\omega\) 的性质很像。而且当 \(p\) 为质数时,如果 \(\varphi(p)\) 有很多 \(2\) 这个因子就十分优秀,像 \(998244353=2^{23}\times 7\times 17+1\) 它的原根是 \(3\)

那么现在我们可以用 \(g^{\frac{\varphi(p)}{n}}\) 代替 \(n\) 次单位根就行。

多项式牛顿迭代

给定多项式 \(g(x)\) 求在模 \(x^n\) 下的 \(f(x)\) 使其满足:

\[g(f(x))\equiv0\pmod {x^n} \]

通过倍增和泰勒展开(不会)得到:

\[f(x)\equiv f_0(x)-\frac{g(f_0(x))}{g'(f_0(x))}\pmod{x^n} \]

多项式求逆

设给定的多项式是 \(h(x)\),那么有:

\[g(f(x))=\frac{1}{f(x)}-h(x)\equiv 0\pmod{x^n} \]

于是有:

\[f(x)\equiv f_0(x)-\frac{\frac{1}{f_0(x)}-h(x)}{-\frac{1}{f_0^2(x)}}\pmod{x^n}\\ \equiv 2f_0(x)-f_0^2(x)h(x)\pmod{x^n}\\ \]

而当 \(n=1\) 时,\([x^0]f_0(x)=[x^0]h(x)^{-1}\)

多项式开根

设给定的多项式是 \(h(x)\),那么有:

\[g(f(x))\equiv f^2(x)-h(x)\pmod{x^n}\\ \]

于是有:

\[f(x)\equiv f_0(x)-\frac{f^2_0(x)-h(x)}{2f_0(x)}\pmod{x^n}\\ \equiv\frac{f_0^2(x)+h(x)}{2f_0(x)} \]

多项式对数函数

假设我们要求 \(G(x)\equiv\ln(F(x))\pmod{x^n}\) ,设函数 \(f(x)=\ln(x)\),那么我们要求的是:

\[G(x)\equiv f(F(x))\pmod{x^n}\\ G'(x)=f(F(x))'\\ G'(x)=f'(F(x))F'(x)\\ \]

注意到 \(\ln(x)\) 的导数是 \(\frac{1}{x}\),所以有:

\[G'\equiv \frac{F'(x)}{F(x)} \pmod{x^n} \]

因为我们只关心余数,所以可以求逆就行。

多项式指数函数

设给定的多项式是 \(h(x)\),那么有:

\[g(f(x))\equiv\ln(f(x))-h(x)\pmod{x^n} \]

于是有:

\[f(x)\equiv f_0(x)-\frac{\ln(f_0(x))-h(x)}{\frac{1}{f_0(x)}}\pmod{x^n}\\ \equiv(f_0(x))(1-\ln(f_0(x))+h(x))\pmod{x^n} \]

多项式快速幂

设给定的多项式是 \(h(x)\),那么求:

\[G(x)\equiv h(x)^k \pmod{x^n}\\ \ln(G(x))\equiv k\ln(h(x))\pmod{x^n}\\ G(x)\equiv e^{k\ln(h(x))}\pmod{x^n} \]

注意到要求 \(\ln\) 所以要保证第一位位 \(1\) ,所以对于部分不合法多项式应该左移 \(z\) 位到第一位不为 \(0\),如果是别的数要先除以 \(a_0\),但是最后要每一项乘以 \(a_0^{k\mod \varphi(p)}\) ,然后还要乘以一个 \(x^{zk\mod p}\)

第二类斯特林数

定义

第二类斯特林数 \(\begin{Bmatrix}n\\m\end{Bmatrix}\) 也记作 \(S(n,m)\),表示将 \(n\) 个区分的小球放入 \(m\) 个相同的盒子且不允许有空盒子的方案数。

递推公式

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+m\begin{Bmatrix}n-1\\m\end{Bmatrix} \]

通过组合意义来解释:

当加入一个球时可以将其单独放入一个空盒子中,方案数为 \(\begin{Bmatrix}n-1\\m-1\end{Bmatrix}\)

也可以将其放入一个非空的盒子中,方案数为 \(m\begin{Bmatrix}n-1\\m\end{Bmatrix}\)

通过加法原理得到递推公式。

通向公式

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^m\frac{(-1)^{m-i}i^n}{i!(m-i)!} \]

可以使用容斥证明该式子:

  1. \(n\) 个区分的球放入 \(m\) 个区分的盒子中且允许有空盒子的方案为 \(A_m\)
  2. \(n\) 个区分的球放入 \(m\) 个区分的盒子但不能有空盒子的方案是 \(B_m\)

那么有 :

\[A_m=m^n=\sum_{i=0}^m\binom{m}{i}B_i \]

通过二项式反演可得:

\[\begin{aligned} B_m&=\sum_{i=0}^m(-1)^{m-i}\binom{m}{i}A_i\\&=\sum_{i=0}^m (-1)^{m-i}\frac{m!i^n}{i!(m-i)!} \end{aligned} \]

因为 \(B_m\) 正好 \(\begin{Bmatrix}n\\m\end{Bmatrix}\)\(i!\) 倍,所以得到通向公式:

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^m\frac{(-1)^{m-i}i^n}{i!(m-i)!} \]

第二类斯特林数·行

发现其通向公式

\[\begin{Bmatrix}n\\i\end{Bmatrix}=\sum\limits_{j=0}^i\frac{(-1)^{i-j}j^n}{j!(i-j)!}\\ =\sum_{j=0}^i\frac{j^n}{j!}.\frac{(-1)^{i-j}}{(i-j)!} \]

这是一个卷积的形式,所以可以 NTT 求。

第二类斯特林数·列

先假设每个盒子也要区分,考虑对于一个盒子计算,其生成函数是 \(G(x)=\sum\limits_{i\geq 1}\frac{x^i}{i!}=(e^x-1)\),其第 \(i\) 项表示在这个盒子放入了 \(i\) 个球。 这样对于 \(m\) 个盒子,\(F(x)=G(x)^m\),那么如果有 \(n\) 个球,答案就是 \([x^n]G(x)^m\) 由于目前的盒子是区分的,所以要乘以一个 \(m!\),故有 \(n\) 个球的答案是 \(m![x^n]G(x)^m\)。这样可以多项式快速幂求,都是发现多项式 \(G(x)\) 的首项是 \(0\) 所以要多项式平移。这里使用的是 EGF 其卷积形式如下 \(\sum\limits_{i\geq 0}x^i\sum\limits_{j=0}^i\frac{1}{i!(i-j)!}a_ib_j=\sum\limits_{i\geq 0} \frac{x^i}{i!}\sum\limits_{j=0}^i\binom{i}{j}a_ib_j\) 就是考虑了 \(a\),\(b\) 合并的顺序,而最后要乘一个 \(i!\) 去消掉 EGF 的 \(i!\) 这个系数。

第一类斯特林数

定义

第一类斯特林数 \(\begin{bmatrix}n\\k\end{bmatrix}\) 表示将 \(n\) 个区分的元素划分为 \(k\) 个互不区分的非空轮换中的方案数。

递推公式

\[\begin{bmatrix}n\\m\end{bmatrix}=\begin{bmatrix}n-1\\m-1\end{bmatrix}+(n-1)\begin{bmatrix}n-1\\m\end{bmatrix} \]

因为加入一个元素时有以下两种情况:

  1. 加在之前一个轮换中,此时它可以加在 \(n-1\) 个元素的右边,故有 \((n-1)\begin{bmatrix}n-1\\m\end{bmatrix}\) 种方案
  2. 新开一个轮换,故有 \(\begin{bmatrix}n-1\\m-1\end{bmatrix}\) 种方案

第一类斯特林数·行

考虑像第二类斯特林数

第一类斯特林数·列

可考虑对于每个轮换生成函数为 \(G(x)=\sum\limits_{i\geq 0}\frac{x^i}i\) 所有可以直接多项式快速幂求 \(F(x)=G(x)^m\)

P5401 [CTS2019] 珍珠

\(cnt_i\) 表示颜色为 \(i\) 的珍珠个数。那么对于一个合法序列满足:

\[\begin{aligned} \sum_{i=1}^{D} \lfloor\frac{cnt_i}{2}\rfloor&\geq m\\ \sum_{i=1}^D\frac{cnt_i-(cnt_i\mod 2)}{2}&\geq m\\ \sum_{i=1}^Dcnt_i-(cnt_i\mod2)&\geq2m\\ n-\sum_{i=1}^Dcnt_i\mod2&\geq 2m\\ \sum_{i=1}^D cnt_i \mod2&\leq n-2m \end{aligned} \]

然后可以特判两种情况,分别是 \(n<2m\)\(2m\leq n-D\) ,答案分别为 0 和 \(D^n\)

对于其他情况,我们发现答案只与每种珍珠出现的奇偶性有关,那么我们设 \(odd_i\) 表示恰好有 \(i\) 个奇数的方案数,那么 \(ans=\sum\limits_{i=0}^{n-2m} odd_i\)

看到恰好可以考虑容斥,定义 \(f_i\) 表示钦定 \(i\) 个是奇数,其余的不进行限制的方案数,那么 \(f_i=\sum\limits_{j=i}^{D} \binom{j}{i} odd_j\)

由二项式反演可以得到:

\[\begin{aligned} odd_i&=\sum_{j=i}^D (-1)^{j-i}\binom{j}{i}f(j)\\ &=\sum_{j=i}^D(-1)^{j-i}\frac{j!}{i!(j-i)!} f(j)\\ &=\frac{1}{i!} \sum_{j=i}^D \frac{(-1)^{j-i}}{(j-i)!}j!f(j)\\ \end{aligned} \]

通过EGF的卷积定义:

\[\begin{aligned} (F*G)[k]&=\sum_{i+j=k} \binom{k}{i}F[i]G[j]\\ \frac{(F*G)[k]}{k!}&=\sum_{i+j=k}\frac{F[i]}{i!}\frac{G[j]}{j!} \end{aligned} \]

我们可以发现上面式子中:

\[\sum_{j=i}^D \frac{(-1)^{j-i}}{(j-i)!}j!f(j) \]

是个卷积形式。

考虑先求 \(f(i)\) ,因为奇数位是1的EGF是:

\[\begin{aligned} \sum\limits_{i=0}\frac{[i\%2==1]}{i!}x^i&=\frac{e^x-e^{-x}}{2}\\ \therefore f_k&=\binom{D}{k}n![x^n](\frac{e^x-e^{-x}}{2})^k(e^x)^{D-k}\\ &=\binom{D}{k}n![x^n]\frac{1}{2^k}(e^x-e^{-x})^k(e^x)^{D-k}\\ &=\binom{D}{k}\frac{n!}{2^k}[x^n](e^x-e^{-x})^k(e^x)^{D-k}\\ \end{aligned} \]

由二项式定理 \((x+y)^k=\sum\limits_{i=0}^k\binom{k}{i}x^iy^{k-i}\) 可知:

\[\begin{aligned} f_k&=\binom Dk \frac{n!}{2^k}[x^n]\sum_{i=0}^k\binom kie^{ix}(-e^x)^{k-i}(e^x)^{D-k}\\ &=\binom Dk \frac{n!}{2^k}\sum_{i=0}^k\binom ki(-1)^{k-i}e^{ix-(k-i)x+(D-k)x}[x^n]\\ &=\binom Dk \frac{n!}{2^k}\sum_{i=0}^k\binom ki(-1)^{k-i}[x^n]e^{(D-2(k-i))x}\\ \because [x^n]e^{ax}&=\frac{a^n}{n!}\\ \therefore f_k&=\binom Dk\frac{n!}{2^k}\sum_{i=0}^k\binom ki(-1)^{k-i}\frac{(D-2(k-j))^n}{n!}\\ &=\frac{D!}{k!(D-k)!}\frac{n!}{2^k}\sum_{i=0}^k\frac{k!}{i!(i-k)!}(-1)^{k-i}\frac{(D-2(k-j))^n}{n!}\\ 令 j&=k-i\\ \therefore f_k&=\frac{D!}{k!(D-k)!}\frac{n!}{2^k}\sum_{j=0}^k\frac{k!}{j!(k-j)!}(-1)^j\frac{(D-2j)^n}{n!}\\ &=\frac{D!}{(D-k)!2^k}\sum_{i=0}^k\frac{(-1)^i(D-2i)^n}{i!}\frac{1}{(k-i)!} \end{aligned} \]

显然后面求和号中是一个EGF的卷积形式,于是我们可以求出 \(f_k\)

P4980 【模板】Polya 定理

\[\begin{aligned} ans&=\frac1n\sum_{i=1}^nn^{\gcd(n,i)}\\ &=\frac1n\sum_{d|n}n^d\sum_{i=1}^{n}[\gcd(n,i)==d]\\ &=\frac1n\sum_{d|n}n^d\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}[\gcd(\frac{n}{d},i)==1]\\ &=\frac1n\sum_{d|n}n^d\varphi(\frac{n}{d}) \end{aligned} \]

P10322 高洁(Purity)

\[\sum_{i=1}^ni^{v(i)+1}\\ d=\prod_{i=1}p_i^{t_i}\\ 设t_{max}为\max(t_1,t_2\dots) \\ 令:f(x)=\sum_{i=1}^ni^{x+1}[v(i)==x]\\ \therefore ans=\sum_{i=1}^{t_{max}}f(i)\\ 设d_t=\prod_{i=1}p_{i}^{\lceil\frac{t_i}{k}\rceil}\\ \therefore d|i^k等价于d_k|i\\ 并且[v(i)==k] 等价于[d_{k-1}\nmid i]\&\&[d_k|i]\\ \therefore f(k)= \begin{cases} \sum\limits_{i=1}^ni[d_{t_{max}}\nmid i]&&&k=0\\ \sum\limits_{i=1}^ni^2[d_1|i]&&&k=1\\ \sum\limits_{i=1}^ni^{k+1}[d_{k-1}\nmid i][d_k|i]&&&k>1 \end{cases}\\ \]

\(k=0\) 时:

\[\begin{aligned} f(k)&=\sum_{i=1}^ni[1-d_{t_{max}}|i]\\ &=\sum_{i=1}^ni-\sum_{i=1}^ni[d_{t_{max}}|i]\\ &=\sum_{i=1}^ni-d_{t_{max}}\sum_{i=1}^{\lfloor\frac{n}{d_{t_{max}}}\rfloor}i \end{aligned} \]

\(k=1\) 时:
转枚举 \(i\) 变为枚举 \(i\) 的因子

\[\begin{aligned} f(k)&=\sum_{i=1}^{\lfloor\frac{n}{d_1}\rfloor}(id_1)^2\\ &=d_1^2\sum_{i=1}^{\lfloor\frac{n}{d_1}\rfloor}(i)^2\\ \end{aligned} \]

\(k>1\) 时:

\[\begin{aligned} f(k)&=\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}(id_k)^{k+1}[\frac{d_{k-1}}{d_k}\nmid i]\\ &=d_k^{k+1}\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}i^{k+1}[1-d_{k-1}|i]\\ &=d_{k}^{k+1}(\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}i^{k+1}-\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}i^{k+1}[\frac{d_{k-1}}{d_k}|i])\\ &=d_{k}^{k+1}(\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}i^{k+1}-\sum_{i=1}^{\lfloor\frac{n}{d_{k-1}}\rfloor}(i\frac{d_{k-1}}{d_k})^{k+1})\\ &=d_k^{k+1}\sum_{i=1}^{\lfloor\frac{n}{d_k}\rfloor}i^{k+1}-d_{k-1}^{k+1}\sum_{i=1}^{\lfloor\frac{n}{d_{k-1}}\rfloor}i^{k+1} \end{aligned} \]

\(sum(n,k)=\sum\limits_{i=1}^ni^k\)

\[f(k)= \begin{cases} sum(n,1)-d_{t_{max}}sum(\lfloor\frac{n}{d_{t_{max}}}\rfloor,1)&&k=0\\ d_1^2sum(\lfloor\frac{n}{d_1}\rfloor,2)&&k=1\\ d_k^{k+1}sum(\lfloor\frac{n}{d_k}\rfloor,k+1)-d_{k-1}^{k+1}sum(\lfloor\frac{n}{d_{k-1}}\rfloor,k+1)&&k>1 \end{cases} \]

不知道为什么要开 __int128 才过,不知道哪里爆 long long 了。

P6271 [湖北省队互测2014] 一个人的数论

\(F(x)=\sum\limits_{i=1}^ni^k\)\(G(x)=\sum\limits_{i=1}^ni^k[\gcd(i,n)==1]\)

\[\begin{aligned} \because F(x)&=\sum_{d|x}d^kG(\frac{x}{d})\\ \end{aligned} \]

由莫反可知:

\[\begin{aligned} G(x)&=\sum_{d|x}d^k\mu(d)F(\frac{x}{d})\\ \end{aligned} \]

因为F(x)是应该x+1次多项式,即:

\[\begin{aligned} \\F(x)&=\sum_{i=0}^xf_ix^i\\ \therefore G(x)&=\sum_{d|x}d^k\mu(d)\sum_{i=0}^{k+1}f_i(\frac{x}{d})^i\\ &=\sum_{i=0}^{k+1}f_ix^i\sum_{d|x}d^{k-i}\mu(d)\\ \end{aligned} \]

由于 \(\sum_{d|x}d^{k-i}\mu(d)\) 为积性函数

\[\begin{aligned} \because n&=\prod_{p_i|n}p_i^{a_i} \\ \therefore G(x)&=\sum_{i=0}^{k+1}f_ix^i\prod_{p_j|x}\sum_{z=0}^{a_i}\mu(p_j^z)p_j^{z(k-i)}\\ \therefore \mu(p^k)&= \begin{cases} 1&&&k=0\\ -1&&&k=1\\ 0&&&k>1 \end{cases}\\ \therefore G(x)&=\sum_{i=0}^{k+1}f_ix^i\prod_{p_j|x}(1-p_j^{k-i})\\ \therefore G(n)&=\sum_{i=0}^{k+1}f_in^i\prod_{p_j|n}(1-p_j^{k-i})\\ \end{aligned} \]

那么只需要插出 \(F(x)\) 的多项式就行。

P10269 实力派

第一个问题:

\[\begin{aligned} Ans_1&=\sum_{T\subseteq S\&\&|T|=k}[\gcd_{x\in T}x=1]\\ &=\sum_{T\subseteq S\&\&|T|=k}\sum_{i|\gcd_{x\in T}x}\mu(i)\\ &=\sum_{i=1}^n\mu(i)C_{cnt_i}^k\\ \end{aligned} \]

\(cnt_i\) 表示 \(i\) 的倍数的出现次数,\(n\) 为值域。

第二个问题:

\[考虑容斥,如果一个数作为\gcd那么其他选出来的数必定是其倍数,\\并且不是其倍数的倍数\\ 例如:当i作为\gcd时,ans_i=i(C_{cnt_i}^k-C_{cnt_{2i}}^k-C_{cnt_{3i}}^k-C_{cnt_{5i}}^k+C_{cnt_{6i}}^k\dots)\\ 可以发现ans_i=i\sum_{j=1}\mu(j)C_{cnt_j}^k\\ \begin{aligned} \therefore Ans_2&=\sum_{i=1}^nans_i=\sum_{i=1}^ni\sum_{j=1}^{\lfloor\frac{n}{i}\rfloor}\mu(j)C_{cnt_{ij}}^k\\ &=\sum_{i=1}^nC_{cnt_i}^k\sum_{j|i}\mu(j)\frac{i}{j}\\ &=\sum_{i=1}^nC_{cnt_i}^k\sum_{j|i}\mu(j)id(\frac ij)\\ \because \mu\ * id &=\varphi\\ \therefore Ans_2&=\sum_{i=1}^nC_{cnt_i}^k\varphi(i)\\\ \end{aligned} \]

现在这样是 \(O(nm)\) 的暴力,肯定过不去,考虑优化。可以发现这两个式子只与 \(cnt_i\) 的值有关,那么我们可以将式子改写为:

\[\begin{aligned} Ans_1&=\sum_{i=1}^vC_{i}^k\sum_{j=1}^n\mu(j)[cnt_j==i]\\ Ans_2&=\sum_{i=1}^vC_{i}^k\sum_{j=1}^n\varphi(j)[cnt_j==i]\\ v&=\max_{i=1}^n\ cnt_i \end{aligned} \]

可以发现两个式子后面一个求和号中的值是不随 \(k\) 变化而变化的,那么我们可以花费 \(O(n)\) 的代价算出来其和为 \(S1_i\),\(S2_i\),故:

\[Ans_1=\sum_{i=1}^vC_i^kS1_i\\ Ans_2=\sum_{i=1}^vC_i^kS2_i\\ \]

由于 \(cnt_i\) 的种类不会过多,大约是 \(O(\sqrt n)\) 种,可以暴力了。

P7360 「JZOI-1」红包

\[\prod_{i_1=1}^n\prod_{i_2=1}^n\dots\prod_{i_k=i}^nlcm(i_1,i_2\dotsi_k)\mod 998244353\\ 考虑对每个质数计算其贡献:\\ a_{p,j}表示在j质因数分解以后的质因子p的个数\\(后文可能会省略p,若省略则默认为p_i) \\ ans=\prod_{p_i|n}p_i^{\sum\limits_{j_1=1}^n\sum\limits_{j_2=1}^n\dots\sum\limits_{j_k=1}^n\max(a_{p_i,j_1},a_{p_i,j_2},\dots a_{p_i,j_k})}\\ 尝试对p_i计算\sum\limits_{j_1=1}^n\sum\limits_{j_2=1}^n\dots\sum\limits_{j_k=1}^n\max(a_{p_i,j_1},a_{p_i,j_2},\dots a_{p_i,j_k})\\ 假设:t=\max(a_{j_1},a_{j_2},\dots a_{j_k})\\ 那么满足\max(a_{j_1},a_{j_2},\dots a_{j_k})<t时的j的可供取值的个数是: n-b_t\\等等,好像有锅\\ b_{p,j}表示在[1,n]中拥有只是j个质因子p的数的个数(省略同a\\ 那么存在k^{(n-b_t)}种取值使得\max(a_{j_1},a_{j_2}\dots a_{j_k})<t\\ 那么是不是可以对于每个p暴力枚举t,做差得到\max(a_{j_1},a_{j_2}\dots a_{j_k})=t的个数。\\ ans=\prod_{p_i|n}p_i^{\sum\limits_{t=1}^{p_i^t\leq n}t\times(k^{n-b_{t+1}}-k^{n-b_i})} \\ 问题关键在于求b_{p,j},这个我们可以花费 O(n\log n)的时间对每个数质因数分解,\\然后求前缀和就行\\ \]

现在问题在于暴力(或前缀和)的复杂度是多少(二者复杂度相同),可以列出计算式:

\[\sum_{p\in prime\&\&p<n}\log_pn \]

通过打表发现在 \(1e6\) 时这个值大约是 \(75000\)

但是好像复杂度有问题(我也不会算),主要是还要加快速幂,先搁一下

P4128 [SHOI2006] 有色图

因为有 \(Burnside\) 引理:

\[|X/G|=\frac{1}{|G|}\sum_{g\in G}|X^g|\\ \]

\(|X/G|\) 是群 \(G\) 作用在集合 \(X\) 的轨道。
\(X^g\)\(g\) 作用在 \(X\) 上的不变的集合。

那么我们要求的就是 \(|X/G|\)

由于对顶点重排是一个置换群,每一种置换是有若干轮换构成的,我们可以发现有若干边是等价的,即他们的颜色必须相同,而对于每个等价类都有 \(m\) 种选择,那么如果有 \(k\) 个等价类,那么就会存在 \(m^k\) 种染色方式,使其在经过若干次该操作后会恢复成原状。(注意:一个等价类并不等同于一个轮换,因为是经过若干操作后变化原状,并不是一次操作。)

现在问题的关键在于求解 \(k\),如果我们将一个置换拆解为 \(len\) 个轮换,第 \(i\) 个轮换长度是 \(b_i\)

先考虑在同一个轮换中的贡献:我们可以发现,在同一个轮换的同一个等价类中的边长度是一样的,因为这样才能在若干次操作后恢复原因。由于在一个轮换中我们选择的是点,那么他们之间两两连边也应该取出,那么就构成了一个完全图。而在一个有 \(a\) 个点的完全图中长度不同的边有 \(\lfloor\frac{a}{2}\rfloor\) 中,于是这 \(len\) 个轮换的贡献是 \(\sum\limits_{i=1}^{len}\lfloor\frac{b_i}{2}\rfloor\)

这是在同一个轮换中,但是在一个轮换中我们只取出其内部连边,然而两两轮换中的连边还没有分类。那么如何统计两两轮换间的贡献呢?

我们可以发现在只两个轮换 \(i\)\(j\) 时 ,只需要经过 \(\operatorname{lcm}(b_i,b_j)\) 次操作就会恢复原样,那么其等价类长度为 \(\operatorname{lcm}(b_i,b_j)\),由于有 \(b_ib_j\) 条边,那么会产生 \(\frac{b_ib_j}{\operatorname{lcm}(b_i,b_j)}=\gcd(b_i,b_j)\) 个等价类,那么两两轮换中的贡献是:\(\sum\limits_{i=1}^{len}\sum\limits_{j=1}^{i-1}\gcd(b_i,b_j)\)

那么可以得到 \(k=\sum\limits_{i=1}^{len}\lfloor\frac{b_i}{2}\rfloor+\sum\limits_{i=1}^{len}\sum\limits_{j=1}^{i-1}\gcd(b_i,b_j)\),但是新的问题又出现了,就是该群的置换个数即 \(|G|\)\(n!\) 的,我们没法去直接枚举所有置换。但是我们发现答案好像只与 \(b\) 数组有关系,那么我们是不是只用去找的 \(b\) 数组的所有情况然后去重就行了呢?

说做就做:将这 \(n\) 个数随便放置的方案是 \(n!\) 种,但是对于一个长度为 \(b_i\) 的轮换会重复计算 \(b_i!\) 种,那么总共有 \(\frac{n!}{\prod\limits_ib_i!}\) ,这是考虑不同轮换之间的方案,而对于一个轮换内部,其实是一个园排列,那么对于一个长度是 \(b_i\) 的轮换会存在 \((b_i-1)!\) 种不同方案,那么总方案就是 \(\prod\limits_i(b_i-1)!\) 种。有一开始的式子我们发现答案与轮换的顺序没有关系,那么我们还要去除因为顺序所带来的重复,假设 \(b_i\) 出现了 \(cnt_i\) 次,那么重复次数为 \(cnt_i!\),所以全部重复次数为 \(\prod\limits_icnt_i!\)

那么我们将最后式子写出来:

\[\begin{aligned} k&=\sum\limits_{i=1}^{len}\lfloor\frac{b_i}{2}\rfloor+\sum\limits_{i=1}^{len}\sum\limits_{j=1}^{i-1}\gcd(b_i,b_j)\\ |X/G|&=\frac{1}{|G|}\sum_{g\in G}\frac{m^{k}\times n!\times \prod(b_i-1)!}{\prod (b_i!cnt_i!)}\\ \end{aligned} \]

由于 \(|G|\)\(n!\),那么整理这个式子得到:

\[\begin{aligned} k&=\sum\limits_{i=1}^{len}\lfloor\frac{b_i}{2}\rfloor+\sum\limits_{i=1}^{len}\sum\limits_{j=1}^{i-1}\gcd(b_i,b_j)\\ |X/G|&=\sum_{g\in G}\frac{m^{k}}{\prod (b_icnt_i!)}\\ \end{aligned} \]

我们发现 \(b\)\(n\) 的一种分拆形式,并且 \(n\) 本身不大,那么我们可以暴力枚举,计算贡献。

然后对于 P4727 [HNOI2009] 图的同构计数 可以将问题转换为每条边染不染色,即 \(m=2\) 的情况求解。

P4619 [SDOI2018] 旧试题

\((i,j)\) 表示 \([\gcd(i,j)==1]\)

\[\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^Cd(ijk)\\ \]

先考虑 \(C=1\) 时:

有结论 \(d(ij)=\sum\limits_{x|i}\sum\limits_{y|i}(x,y)\) 。因为我们可以对于每个质因子单独考虑,对于质因子 \(P\) 它在 \(i\) 中出现了 \(p_i\) 次,在 \(j\) 中出现 \(p_j\) 次,那么它会在 \(ij\) 中出现 \(p_i+p_j\) 次。我们知道 \(d(i)=\prod\limits_{P\in pri\&\&P|i} (p_i+1)\) 因为对于一个 \(P\) 你可以选择的次数是在 \([0,p_i]\) 中,根据乘法原理可知。那么质因子 \(P\)\(d(i,j)\) 中的贡献也是 \(p_i+p_j+1\)。而当 \([\gcd(x,y)==1]\) 时,对于质因子 \(P\) 它要么不出现,要么只在 \(x\)\(y\) 中出现(废话)。这样它的贡献是 \(p_i+p_j+1\) 现在考虑是不是乘法原理,因为对于每个 \(P\) 是相互独立的,假设在 \(x\) 中出现了 \(a_x\) 次,那么是不会影响另外质因子 \(P^{'}\) 。所以可以证明。

那么将这个结论推广到 \(C\neq 1\) 时,那么有 \(d(ijk)=\sum\limits_{x|i}\sum\limits_{y|i}\sum\limits_{z|k}(x,y)(y,z)(x,k)\)

那么:

\[\begin{aligned} ans&=\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C\sum_{x|i}\sum_{y|i}\sum_{z|k}(x,y)(y,z)(x,k)\\ &=\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C(x,y)(y,x)(x,k)\frac{A}{x} \end{aligned} \]

List Generation

考虑答案为从点 \((0,0)\) 到点 \((n,m)\) 的只向上或右走的路径长度之和,考虑枚举转折点,为了不重,将转折点分为两类:

  1. 从左边来然后向上走
  2. 从下边来然后向右走

于是考虑选 \(i\) 转折点 1 的方案有 \(\binom ni\binom mi\) ,然后路径上一共有 \(n+m-1\) 个点,由于已经钦定了 \(i\) 个点了,那么剩下 \(s=n+m-i-1\) 个点可选可不选,对于这 \(s\) 个点的贡献是:

\[\begin{aligned} \sum_{j=0}^s\binom sj(i+j+2)&=2^s(i+2)+\sum_{j=0}^s\binom sj j\\ &=2^s(i+2)+\frac{\sum_{j=0}^s\binom sj s}{2}\\ &=2^s(i+2)+s2^{s-1}\\ \therefore ans&=\sum_{i=0}^{\min(n,m)}\binom ni \binom mi(2^s(i+2)+s2^{s-1}) \end{aligned} \]

P6031 CF1278F Cards 加强版

因为每次洗牌是独立的,所以一次抽中王牌的概率 \(p=\frac{1}{m}\),所以有:

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

用第二类斯特林数拆幂次:

因为 \(m^n\) 等于将 \(n\) 个区分的小球放入 \(m\) 个区分的盒子中,允许有空的方案数,用第二类斯特林数表示就是:

\[m^n=\sum_{i=0}^{\min(n,m)} \binom{m}{i}i!\begin{Bmatrix}n\\i\end{Bmatrix} \]

代入原式可得:

\[\begin{aligned} ans&=\sum_{i=0}^n\binom ni p^i(1-p)^{n-i}\sum_{j=0}^{k} \binom ij j!\begin{Bmatrix}k\\j\end{Bmatrix}\\ &=\sum_{j=0}^{k}j!\begin{Bmatrix}k\\j\end{Bmatrix}\sum_{i=0}^n\binom ni \binom ij p^i(1-p)^{n-i}\\ \end{aligned} \]

考虑第二个求和号中的内容:

\[\begin{aligned} &=\sum_{i=0}^n\binom ni\binom ijp^i(1-p)^{n-i}\\ &=\sum_{i=0}^n \frac{n!i!}{i!(n-i)!j!(i-j)!}p^i(1-p)^{n-i}\\ &=\frac{1}{j!}\sum_{i=0}^n\frac{n!}{(n-i)!(i-j)!}p^i(1-p)^{n-i}\\ &=\frac{1}{j!}\sum_{i=0}^n\frac{(n-j)!}{(n-i)!(i-j)!}\frac{n!}{(n-j)!}p^i(1-p)^{n-i}\\ &=\frac{n!}{(n-j)!j!}\sum_{i=0}^n\binom{n-j}{n-i}p^i(1-p)^{n-i}\\ &=\binom nj\sum_{i=0}^n\binom{n-j}{i-j}p^i(1-p)^{n-i}\\ &=p^j\binom nj \sum_{i=0}^{n-j}\binom{n-j}{i}p^i(1-p)^{n-i-j}\\ &=p^j\binom{n}{j}\\ \therefore ans&=\sum_{j=0}^kj!\begin{Bmatrix}k\\j\end{Bmatrix}p^j\binom nj \end{aligned} \]

\[\because m^n=\sum_{i=0}^m\binom mi i!\begin{Bmatrix}n\\i\end{Bmatrix} \]

通过二项式反演得到:

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum_{i=0}^m(-1)^{m-i}\binom mi i^n \]

代回原式得到:

\[\begin{aligned} ans&=\sum_{j=0}^k\frac{1}{j!}\sum_{i=0}^j(-1)^{i-j}\binom ji i^kj!\binom njp^j\\ &=\sum_{i=0}^k(-1)^ii^k\sum_{j=i}^k\binom nj\binom ji(-p)^j\\ &=\sum_{i=0}^k(-1)^ii^k\sum_{j=i}^k\frac{n!j!}{j!i!(n-j)!(j-i)!}(-p)^j\\ &=\sum_{i=0}^k(-1)^ii^k\binom ni\sum_{j=i}^k \binom {n-i}{j-i}(-p)^j\\ &=\sum_{i=0}^ki^kp^i\binom ni\sum_{j=0}^{k-i}\binom {n-i}{j}(-p)^j\\ \end{aligned} \]

\(S(i)=\sum\limits_{j=0}^{k-i}\binom {n-i}j(-p)^j\),裂开组合数:

\[\begin{aligned} S(i)&=\sum_{j=0}^{k-i}\left( \binom{n-i-1}{j}+\binom{n-i-1}{j-1}\right)(-p)^j\\ &=S(i+1)+\binom{n-i-1}{k-i}(-p)^{k-i}+\sum_{j=0}^{k-i}\binom{n-i-1}{j-1}(-p)^j\\ \end{aligned} \]

\(s=S(i+1)+\binom{n-i-1}{k-i}(-p)^{k-i}\),

\[\begin{aligned} S(i)&=s+(-p)\sum_{j=0}^{k-i}\binom{n-i-1}{j-1}(-p)^{j-1}\\ &=s+(-p)\sum_{j=0}^{k-i-1}\binom{n-i-1}j(-p)^j\\ \therefore S(i)&=c+(-p)S(i+1)=(1-p)S(i+1)+\binom{n-i-1}{k-i}(-1)^{k-i}\\(S(k)&=1)\\ \therefore ans&=\sum_{i=0}^ki^k\binom ni p^i S(i) \end{aligned} \]

P4389 付公主的背包

首先对于一个体积为 \(V\) 物品可以很轻易的求出其生成函数:

\[F_V(x)=\sum_{i\geq 0}[i\%V=0]x^i=\frac{1}{1-x^V} \]

所以最后的答案是 :

\[[x^m]\prod_{i=1}^nF_{a_i}(x) \]

但是现在是 \(O(n^2\log n)\) 的,但是因为有如下操作:

\[G(x)*F(x)=e^{\ln(G(x))+\ln(F(x))} \]

所以考虑对所有生成函数求 \(\ln\),设:

\[\begin{aligned} G(x)&=\ln(\frac{1}{1-x^V})\\ &=\ln1-\ln(1-x^V)\\ &=-\ln(1-x^V)\\ &=-\ln(F(x))\\ G'(x)&=\frac{F'(x)}{F(x)}\\ &=\frac{-Vx^{V-1}}{1-x^V}\\ &=-\sum_{i\geq0}Vx^{iV+V-1}\\ G(x)&=-\sum_{i\geq 0}\frac{x^{iV}}{i} \end{aligned} \]

最后求 \(\exp\) 就行。

P4841 [集训队作业2013] 城市规划

发现联通这个限制比较强,考虑转换,设 \(g_i\) 表示 \(i\) 个点的简单无向图个数,显然有 \(g_i=2^{\binom i2}\),设 \(f_i\) 表示 \(i\) 个点的无向连通图个数。这样,我们考虑第一个点所在连通块大小,有如下转移方程:\(g_n=\sum\limits_{i=1}^n\binom{n-1}{i-1}f_{i}g_{n-i}\),推一下式子得到:

\[g_n=\sum\limits_{i=1}^n\binom{n-1}{i-1}f_{i}g_{n-i} =\sum_{i=1}^n\frac{(n-1)!}{(i-1)!(n-i)!}f_{i}g_{n-i}\\ \frac{g_n}{(n-1)!}=\sum_{i=1}^n\frac{f_{i}}{(i-1)!}.\frac{g_{n-i}}{(n-i)!} \]

设:

\[F=\sum_{i\geq0}\frac{f_i}{i!}x^i\\ H=\sum_{i\geq1}\frac{2^{\binom i2}}{(i-1)!}x^i\\ G=\sum_{i\geq0}\frac{2^{\binom i2}}{i!}x^i \\ \because H=F*G\\ \therefore F=H*G^{-1} \]

P5748 集合划分计数

考虑先对单个集合生成函数 \(F(x)=e^x-1=\sum\limits_{i\geq1}\frac{x^i}{i!}\) 然后现在令答案的生成函数是 \(G(x)\),显然有:

\[G(x)=\sum_{i=0}^n\frac{F^i(x)}{i!}=e^{F(x)} \]

P5824 十二重计数法

球与盒子互不相同

无限制

显然是 \(m^n\)

每个盒子最多一个球

发现 \(n>m\) 时答案为 0,从组合上讲答案是 \(n!\binom mn\)

每个盒子至少一个球

从 EGF 的角度出发,每个盒子的 EGF 是 \((e^x-1)\),故答案是 \([x^n](e^x-1)^m\),然后直接多项式快速幂?

球要区分,盒子不区分

无限制

是第二类斯特林数,答案为 \(\sum\limits_{i=1}^m\begin{Bmatrix}n\\i\end{Bmatrix}\)

每个盒子最多一个球

答案为 \([n\leq m]\)

每个盒子至少一个球

第二类斯特林数 \(\begin{Bmatrix}n\\m\end{Bmatrix}\)

球不区分,盒子要区分

无限制

考虑插板法 \(\binom{n+m-1}{m-1}\)

每个盒子最多一个球

答案为选 \(n\) 个有球的盒子 \(\binom mn\)

每个盒子至少一个球

先给每个盒子放一个,然后插板法 \(\binom{n-1}{m-1}\)

球与盒子都不区分

无限制

发现这个就是P4389 付公主的背包,只不过重量只有 \(1\)

每个盒子最多一个球

答案是 \([n\leq m]\)

每个盒子至少一个球

同样,先保住下限,然后跑无限制。

posted @   mgcxcgm  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示