[USACO20OPEN]Exercise P

题意

给定\(n\)及素数\(p\)
求所有\(n\)阶排列的阶的,在模\(p\)意义下的值
\(n\le 7500\)

做法一

这里是求积,所以可以单独求每个质因数的幂次
对于素数\(p\),其幂次为:\(\sum\limits_{k\ge 1}\#\{f为n阶排列:p^k|ind(f)\}\)
引理1\(\sum\limits_{p\in prime}\sum\limits_{k\ge 1}[p^k\le n]=\Theta(\frac{n}{logn})\)

证明:
对于\(p>\sqrt{n}\)\(k=1\),个数为\(\Theta(\frac{n}{logn})\)
对于\(p\le \sqrt{n}\),个数为\(\sum\limits_{p\le \sqrt{n}}log_pn\le \sum\limits_{p\le \sqrt{n}}log_2n\le \frac{\sqrt{n}}{logn}logn=\Theta(\sqrt{n})\)

那么单独看\(L=p^k\),考虑算所有环均不整除\(L\)
排列的\(\text{egf}\)\(\text{exp}^{\text{ln}\frac{1}{1-x}}\)
整除\(L\)的环的\(\text{egf}\)\(\sum\limits_{k=1}^{\infty}\frac{x^{kL}}{kL}=\frac{1}{L}\sum\limits_{k=1}^{\infty}\frac{x^{kL}}{k}=\frac{1}{L}\text{ln}\frac{1}{1-x^L}\)

那么所有环不整除\(L\)\(\text{egf}\)\(\frac{1}{1-x}/\frac{1}{(1-x^L)^{\frac{1}{L}}}=\frac{(1-x^L)^{\frac{1}{L}}}{1-x}\)
分子仅在\(L\)的倍数处有值,分母的组合意义为前缀和,令\(t=\left\lfloor\frac{n}{L}\right\rfloor\),则有:

\[[x^n]\frac{(1-x^L)^{\frac{1}{L}}}{1-x}=[x^{tL}]\frac{(1-x^L)^{\frac{1}{L}}}{1-x^L} \]

由于我们在求\(p\)的幂次,这里得对\(p-1\)取模,将\(n![x^{tL}](1-x^L)^{\frac{1}{L}}\)稍作整理,得到:

\[\frac{n!(tL-1)\cdots(L-1)}{t!L^t} \]

引理2\(\sum\limits_{p\in prime}\sum\limits_{k\ge 1}[p^k\le n]=O(nloglogn)\)

\((tL-1)\cdot (L-1)\)这部分可以暴力,而\(\frac{n!}{t!L^t}=\frac{n!}{L\cdots(tL)}\)可以\(O(n)\)计算

总复杂度\(O(\frac{n^2}{logn})\)

做法二

枚举质数\(p\),枚举排列,令其置换环集合为\(S\),其幂次为:\(\sum\limits_{f为n阶排列}\max\limits_{x\in S}\{|x|里p的次数\}\)

考虑\(\text{min-max}\)反演:\(\sum\limits_{f为n阶排列}\sum\limits_{U\subseteq S}(-1)^{|U|+1}\min\limits_{x\in U}\{|x|里p的次数\}\)

改写成:\(\sum\limits_{f为n阶排列}\sum\limits_{U\subseteq S}(-1)^{|U|+1}\sum\limits_{k=1}^{\infty}[\min\limits_{x\in U}\{|x|里p的次数\}\ge k]\)

那么枚举\(p,k\),对\(\sum\limits_{x\in U} |x|\)动态规划

\[f_i=\sum\limits_{j=1}^i (-1)\cdot f_{i-j}{ip^k-1\choose jp^k-1}(jp^k-1)! \]

\(\sum\limits_{p,k}(\frac{n}{p^k})^2[p^k\le n]= n^2\sum\limits_{p,k}\frac{1}{p^{2k}}[p^k\le n]\le n^2\sum\limits_{i=1}^n \frac{1}{i^2}=\Theta(n^2)\)

故复杂度是\(O(n^2)\)

做法三

当然也可以不需要直接使用反演

枚举\(p,k\),考虑统计不存在任何一个环\(p\)的次数大于等于\(k\)
\(f_i\)\(i\)阶排列,不存在环次数大于等于\(k\)
\(g_i\)\(i\)阶排列,所有环均次数大于等于\(k\)

\[\begin{aligned} &f_i=i!-\sum\limits_{p^k|j,j\le i}{i\choose j}g_jf_{i-j}\\ &g_i=\sum\limits_{p^k|j,j\le i}{i-1\choose j-1}(j-1)!g_{i-j}\\ \end{aligned}\]

\(f_n\)造成贡献的\(f_i,g_i\)\(O(\frac{n}{p^k})\)的,故时间复杂度同做法二

posted @ 2021-02-18 15:58  Grice  阅读(98)  评论(0编辑  收藏  举报