[USACO20OPEN]Exercise P

題意

給定\(n\)及素數\(p\)
求全部\(n\)階排列的階的,在模\(p\)意義下的值
\(n\le 7500\)spa

作法一

這裏是求積,因此能夠單獨求每一個質因數的冪次
對於素數\(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})\)ip

證實:
對於\(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})\)it

那麼單獨看\(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}\)class

那麼全部環不整除\(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\),則有:im

\[[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)\)計算di

總複雜度\(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})\)的,故時間複雜度同作法二

相關文章
相關標籤/搜索