給定\(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
因爲咱們在求\(p\)的冪次,這裏得對\(p-1\)取模,將\(n![x^{tL}](1-x^L)^{\frac{1}{L}}\)稍做整理,獲得:統計
引理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|\)動態規劃
\(\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\)
對\(f_n\)形成貢獻的\(f_i,g_i\)是\(O(\frac{n}{p^k})\)的,故時間複雜度同作法二