題解:CF17D Notepad

jxy2012發表於2024-04-21

由於首位不能是 \(0\) ,因此首位有 \(b-1\) 種可能性。其他 \(n-1\) 位有 \(b^{n-1}\) 種可能。因此這些數總計

\((b-1) b^{n-1}\)

每頁 \(c\) 個數,求最後一頁有多少個數,即求

\(\text { ans }=(b-1) b^{n-1} \quad \bmod c\)

注意到題目中 \(b, n\) 都非常大,採用擴充套件尤拉定理進行降冪處理:

\(\begin{aligned} \text { ans } & =(b-1) b^{n-1} \bmod c \\ & =((b-1) \bmod c)(b \bmod c)^{n-1} \bmod c \\ & =\left\{\begin{array}{lll} ((b-1) \bmod c)(b \bmod c)^{(n-1)\bmod \varphi(c)} \bmod c & \operatorname{gcd}(b, c)=1 \\ ((b-1) \bmod c)(b \bmod c)^{n-1} \bmod c & \operatorname{gcd}(b, c) \neq 1, n-1<\varphi(c) \\ ((b-1) \bmod c)(b \bmod c)^{(n-1) \bmod \varphi(c)+\varphi(c)} \bmod c & \operatorname{gcd}(b, c)=1, n-1 \geq \varphi(c) \end{array}\right. \end{aligned}\)

擴充套件尤拉定理的證明可參考 OI wiki

最後若 \(ans = 0\),則輸出 \(c\),否則輸出 \(ans\)

相關文章