微軟允許企業客戶在全新 Surface 裝置上自主選擇 Win10 或 Win11
阿新 • • 發佈:2021-10-07
我們翻譯一下。
\(ans=g^{\displaystyle\sum_{d|n}C(d,n)}\bmod999911659\)
\(\displaystyle\sum_{d|n}C(d,n)\) 顯然是個天文數字。所以用尤拉定理, \(ans=g^{\displaystyle\sum_{d|n}C(d,n)\bmod999911658}\bmod999911659\)
顯然我們把上面的玩意求出來之後就可以快速冪。
上面的可以列舉 \(d\),是 \(O(\sqrt{n})\)。
但是 \(C\) 逆元暴力會有問題,因為 \(C(d,n)\) 中 \(d,n-d\) 可能大於 \(p\),所以會導致無法求逆元。
用 \(Lucas\) 定理。但是 \(999911658\) 並非質數。
但是可以用 CRT。\(999911658=2\times3\times4679\times35617\)
我們設 \(x=C(d,n)\bmod 999911658\),
\(x\equiv (C(d,n)\bmod 2)\pmod{2}\)
\(x\equiv (C(d,n)\bmod 3)\pmod{3}\)
\(x\equiv (C(d,n)\bmod 4679)\pmod{4679}\)
\(x\equiv (C(d,n)\bmod 35617)\pmod{35617}\)
我們預處理 \(35617\) 以內的階乘即可。
快速冪 \(O(\log n)\) 級別,分解 \(O(\sqrt{n})\),中剩的 \(C(d,n)\bmod p\) 為 \(O(\log n)\) 級別,中剩解方程不影響複雜度(也就 \(4\) 個逆元)。
所以複雜度為 \(O(\log^2n\sqrt{n})\),可以通過。
YJX AK IOI