欧拉定理

基本欧拉定理

\(\gcd(a,p)=1\),则:

\[a^c\equiv a^{c\bmod \varphi(p)}\pmod p \]

注:费马小定理即欧拉定理在 \(p\) 为质数时的特殊情况。

扩展欧拉定理

\[a^c\equiv\begin{cases}a^{c\bmod \varphi(p)}&\gcd(a,m)=1\\a^c&\gcd(a,m)\ne1\land c<\varphi(p)\\a^{c\bmod\varphi(p)+\varphi(p)}&\gcd(a,m)\ne1\land c\geqslant\varphi(p)\end{cases}\pmod p \]

例题

  1. LOJ525

给定 \(k\),求出一个次数不超过 \(2k\),最高次项非 \(0\) 的多项式 \(f(x)\),使得 \(\forall i\in[0,k−1],f(i)\bmod k=0\)

sol:

根据扩展欧拉定理,\(x^{\varphi(p)}\equiv x^{2\varphi(p)}\pmod p\)

构造多项式 \(x^{2\varphi(p)}-x^{\varphi(p)}\) 即可。

  1. 相逢是问候

给定长为 \(n\) 的初始序列 \(a\),以及常数 \(c,p\)\(m\) 次操作:

  • 将一个区间内的所有数 \(a_i\) 替换为 \(c^{a_i}\)

  • 区间求和 \(\bmod\ p\)

sol:

\(f(a,k,p)\) 表示 \(a\) 经过 \(k\)\(a=c^a\)\(\bmod\ p\) 的值,可以递归处理。

因为 \(\varphi(\varphi(\cdots\varphi(p)))\) 至多经过 \(O(\log p)\) 层就会变成 \(1\),所以这个值在 \(k>2\log p\) 时是不变的。

所以对于没有操作 \(2\log p\) 次的位置暴力修改,线段树维护:区间和,这个区间是否所有位置都修改过超过 \(2\log p\) 次询问。

复杂度 \(O(n\log^2 p)\)

posted @ 2025-02-08 17:09  O_v_O  阅读(22)  评论(0)    收藏  举报