跟lucas
沒關係……
事實上關鍵是讓我們快速解決這樣乙個問題 \(n!\bmod p^k\)
這樣的話就可以根據 \(=\dfrac\) 提取裡面的 \(p\) 質因子的個數來快速計算取模
記 \(v_p(n)\) 滿足 \(p^|n\) 且 \(p^\not|n\)
設 \(f_p(n)=\dfrac}\) ,那麼就可以遞迴計算 \(f_p(n)\) 和 \(v_p(n)\)
具體來說
\[\begin
n!&=1\times 2\times 3\dots\times n \\
&=p^\rfloor}\lfloor\frac\rfloor!\prod_ i
\end
\]在 \(\pmod \) 意義下
\[\begin
f_p(n)&=f_p(\lfloor\frac\rfloor)\prod_ i &\pmod \\
&=f_p(\lfloor\frac\rfloor) \prod_(p^k\log_p n)\) 的複雜度下計算完成
如果提前知道模數,預處理 \(s_n=\prod_i \pmod \) 就可以 \(\mathcal(\log_p n)\) 計算
同理 $$v_p(n)=v_p(\lfloor\frac\rfloor)+\lfloor\frac\rfloor$$
所以 $$=\frac p^\pmod $$
\(crt/excrt\) 合併對所有 \(p=\prod p^k\) 的答案,\(\mathcal(p)\),收工!
狗屁不會 exlucas
填坑 考試的時候不會自閉了,考完板子打不對自閉了。lucas用來處理一類問題 c n mod p 其中p為質數。可是如果p變成gk非質數了咋辦?就要用exlucas了。首先,如果設p prod 那麼如果能分別求出組合數模質數冪的答案,就可以用crt合併了。現在問題轉化為求 c n m mod p k...
學習筆記 雜湊學習筆記
hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...
學習筆記 CentOS 學習筆記01
簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...