自己重新推一遍柿子。/fendou
P2568 GCD
题目传送门
求
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}[\gcd(i,j)=p]
\]
gcd的套路转换(
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{\lfloor \frac{n}{p} \rfloor}\sum\limits_{j=1}^{\lfloor \frac{n}{p} \rfloor}[\gcd(i,j)=1]
\]
然后发现 \(\sum[\gcd(i,j)=1]\) 这不欧拉函数吗,但是由于是有序数对,所以有
\[\sum\limits_{p\in prime}2\times\sum\limits_{i=1}^{\lfloor \frac{n}{p} \rfloor}\varphi(i)-1
\]
减一是因为\(i=j\) 时会被重复算,最后复杂度 \(\mathcal{O(n)}\)。
P2398 GCD SUM
题目传送门
求
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^n \gcd(i, j)
\]
根据欧拉函数 \(n=\sum\limits_{d\mid n}\varphi(d)\) 的性质,有
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^n\sum\limits_{d\mid \gcd(i,j)} \varphi(d)
\]
也就是为
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^n\sum\limits_{d\mid i,j} \varphi(d)
\]
考虑每个 \(\varphi(d)\) 的贡献,于是原式
\[\sum\limits_{i=1}^{n}\varphi(i)*\lfloor\frac{n}{i}\rfloor*\lfloor\frac{n}{i}\rfloor
\]
最后 \(\mathcal{O(n)}\) 求解即可,其实也可以整除分块,但没必要。
(好像这些转化叫欧拉函数反演?)
P2261 余数求和
题目传送门
求
\[\sum\limits_{i = 1}^n k \bmod i
\]
有
\[\sum\limits_{i=1}^n k-\lfloor\frac{k}{i}\rfloor\times i
\]
将 \(k\) 提出来
\[nk-\sum\limits_{i=1}^n\lfloor\frac{k}{i}\rfloor\times i
\]
这样就可以用整除分块 \(\mathcal{O(\sqrt n)}\) 计算了。
P4139 上帝与集合的正确用法
题目传送门
求
\[2^{2^{2^{...}}}\bmod p
\]
有一个东西叫扩展欧拉定理 \((\text{Extend Euler's theorem})\),若 \(\varphi(p)\leq b\),则
\[a^b=a^{b \bmod \varphi(p)+\phi(p)}
\]
所以可以对指数递归求解。
P2522 [HAOI2011] Problem b
题目传送门
多组数据,求
\[\sum\limits_{i=a}^{b}\sum\limits_{j=c}^{d}[\gcd(i,j)=k]
\]
可以转化成求 \(1\) ~ \(n\) 和 \(1\)~\(m\) 的,最后容斥一下就行了
\[f(k)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[\gcd(i,j)=k]
\]
有
\[\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{k}\rfloor}[\gcd(i,j)=1]
\]
由莫比乌斯函数的性质 \(\sum\limits_{d\mid n}\mu(d)=[n=1]\) 可有
\[\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum\limits_{d\mid \gcd(i,j)}\mu(d)
\]
遇到整除式可以尝试改成枚举式,这里枚举一下 \(d\),上界为 \(\min(\lfloor\frac{n}{k}\rfloor,\lfloor\frac{m}{k}\rfloor)\),所以不妨设 \(n\leq m\) ,于是原式
\[\sum\limits_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum\limits_{x=1}^{\lfloor\frac{n}{k} \rfloor}\mu(x)\times[x\mid \gcd(i,j)]
\]
发现要满足 \(x\mid\gcd(i,j)\),\(i\) 和 \(j\) 必须要是 \(x\) 的倍数,所以有
\[\sum\limits_{x=1}^{\lfloor\frac{n}{k} \rfloor}\mu(x)\times \lfloor\frac{a}{xd}\rfloor\times \lfloor\frac{b}{xd}\rfloor
\]
然后整除分块,启动!
P2257 YY的GCD
题目传送门
多组数据,求
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[\gcd(i,j)=p]
\]
有
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{p}\rfloor}[\gcd(i,j)=1]
\]
是不是可以仿照一下上题
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{p}\rfloor}\sum\limits_{x|\gcd(i,j)}\mu(x)
\]
\[\sum\limits_{p\in prime}\sum\limits_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{p}\rfloor}\sum_{x=1}^{\lfloor\frac{n}{p}\rfloor}\mu(x)\times[x\mid\gcd(i,j)]
\]
\[\sum\limits_{p\in prime}\sum_{x=1}^{\lfloor\frac{n}{p}\rfloor}\mu(x)\times\lfloor\frac{n}{xp}\rfloor\times\lfloor\frac{m}{xp}\rfloor
\]
然后就不会了/hsh,去看了看题解,感觉很妙啊,设 \(T=xp\),则有
\[\sum\limits_{p\in prime}\sum_{x=1}^{\lfloor\frac{n}{p}\rfloor}\mu(x)\times\lfloor\frac{n}{T}\rfloor\times\lfloor\frac{m}{T}\rfloor
\]
然后枚举 \(T\),有
\[\sum\limits_{p\in prime}\sum_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\times\lfloor\frac{m}{T}\rfloor\times\mu(\frac{T}{p})
\]
\(p\) 只与 \(\mu(\frac{T}{p})\) 有关,可以把他们单独放到一起
\[\sum_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\times\lfloor\frac{m}{T}\rfloor\times\sum\limits_{p\in prime}\mu(\frac{T}{p})
\]
\[\sum_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\times\lfloor\frac{m}{T}\rfloor\times\sum\limits_{p \mid T,p \in prime}\mu(\frac{T}{p})
\]
前面的式子可以整除分块,而后面的只需要用埃氏筛处理一个前缀和就可以了。复杂度大约是 \(\mathcal{O(n \ln \ln n)}\) 。
但是这种不是积性函数的式子也可以用一些方法线性做,但是我不会/ll,这里挖个坑吧/kk。
P1829 [国家集训队] Crash的数字表格 / JZPTAB
题目传送门
求
\[\sum\limits_{i=1}^n\sum\limits_{j=1}^m \operatorname{lcm}(i,j)
\bmod 20101009
\]
易知
\[\sum\limits_{i=1}^n\sum\limits_{j=1}^m \frac{i\times j}{\gcd(i,j)}
\]
枚举 \(\gcd(i,j)\)
\[\sum\limits_{d \mid i,d\mid j}\sum\limits_{i=1}^{n}\sum_{j=1}^{m}\frac{i \times j}{d}[\gcd(i,j)=d]
\]
套路转换
\[\sum\limits_{d \mid i,d\mid j}\sum\limits_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}}\frac{i \times j}{d}[\gcd(i,j)=1]
\]
P3306 [SDOI2013] 随机数生成器
题目传送门
给一个数列
\[x_{i+1}\equiv {a\times x_i+b}\pmod{p}
\]
我们想要找这个数列的通项公式,将它化成等比数列的形式
\[x_{i+1}+\frac{b}{a-1}\equiv a\left( x_i+\frac{b}{a-1} \right) \pmod p
\]
推导过程
设一个常数 $k$,使得
$$
x_{i+1}+k=a(x_i+k)
$$
替换进原先的式子
$$
a(x_i+k)-k ax_i+b
$$
$$
ak-k=b
$$
$$
k=\frac{b}{a-1}
$$
于是
$$
a_{x+1}+\frac{b}{a-1}=a\left( x_i+\frac{b}{a-1} \right)
$$
由等比数列的通项公式得
$$
x_n+\frac{b}{a-1}\equiv a^{n-1}\times \left( x_1+\frac{b}{a-1} \right)\pmod p
$$
题目是求 $n$,移个项
$$
a^{n-1}\equiv \frac{{x_n+\frac{b}{a-1}}}{x_1+\frac{b}{a-1}}
$$
然后求下逆元就能 BSGS 了。
P2480 [SDOI2010] 古代猪文
题目传送门
典典题。
求
\[g^{\sum\limits_{d\mid n}\binom{n}{d}} \bmod 999911659
\]
先用 \(\text{Euler}\) 定理把指数弄小点
\[g^{\sum\limits_{d\mid n}\binom{n}{d}\bmod 999911658} \bmod 999911659
\]
那么本题的关键就是求 \(\sum\limits_{d\mid n}\binom{n}{d}\mod 999911658\) 了,发现是组合数取模,考虑 \(\text{Lucas}\) 定理,但是这里模数并不是质数。
考虑将模数质因数分解,发现 \(999911658=2\times 3\times 4679\times 35617\)。那么就可以用 \(\text{Lucas}\) 定理分别求出 \(\sum\limits_{d\mid n}\binom{n}{d}\) 对四个质因子的取模结果,记四个结果分别为 \(a_1,a_2,a_3,a_4\),于是就可以列出如下式子
\[\left\{
\begin{array}{l}
x\equiv a_1 \pmod 2 \\
x\equiv a_2 \pmod 3 \\
x\equiv a_3 \pmod {4679} \\
x\equiv a_4 \pmod {35617} \\
\end{array} \right.
\]
这样用中国剩余定理求解出来的 \(x\) 就是原式对 \(999911658\) 取模的结果了。最后答案就是 \(g^x \bmod 999911659\)。
2024 新高考 Ⅰ 卷数学 19 题
设 \(m\) 为正整数,数列 \(a_1,a_2,...,a_{4m+2}\) 为公差不为 \(0\) 的等差数列,若从中删去两项 \(a_i,a_j\ (i<j)\) 后剩下的 \(4m\) 项可被分成 \(m\) 组,且每组 \(4\) 个数都能构成等差数列,则称数列 \(a_1,a_2,...,a_{4m+2}\) 是 \((i,j)\) ——可分数列.
- 写出所有的 \((i,j)\),\(1\le i<j\le 6\),使数列 \(a_1,a_2,...,a_6\)是 \((i,j)\) ——可分数列.
- 当 \(m\ge 3\) 时,证明:数列 \(a_1,a_2,...,a_{4m+2}\) 是 \((2,13)\) ——可分数列.
- 从 \(1,2,...,4m+2\)中一次随机取两个数 \(i,j(i<j)\),记数列 \(a_1,a_2,...,a_{4m+2}\) 是 \((i,j)\) 的一可分数列的概率为 \(P_m\),证明:\(P_m> \frac 1 8\).
前两问很简单,第三问如果脑电波一下子能和出题人对上貌似也是很简单的/jy
1.
显然有 \((1,2),(5,6),(1,6)\).
2.
题目里没有更多的约束条件,不妨设 \(a_i=i\),不失一般性.
当 \(m=3\) 时,去掉 \(2,13\) 后,有构造方案 \(\{1,4,7,10\},\{3,6,9,12\},\{5,8,11,14\}\).
当 \(m>3\) 时,有\(4m+2>14\),前 \(14\) 个元素仿照 \(m=3\) 时,\(15 \sim 4m+2\) 是连续的且共有 \(4m+2-15+1=4m+12\) 个元素,\(4m+2 \equiv 0 \pmod 4\).故可以每隔 \(4\) 个分为一组,符合条件.
综上,原数列是 \((2,13)\) ——可分数列.
3.
不妨设 \(x<y\).
首先考虑 \(x \bmod 4=1,y \bmod 4=2\) 的情况,容易发现可以将数列从小到大每 \(4\) 个分为一组,构造满足可分数列的条件.
当 \(x \bmod 4=2,y\bmod 4=1\) 时,且 \(y-x\ge7\) 时,均可以仿照第二问的构造方式,\(1 \sim x-2\) 和 \(y+2 \sim 4m+2\) 每隔四个分一组,记 \(k=\frac{{y-x+1}}{4}\),分成 \(k\) 个公差为 \(k\) 的等差数列,构造满足可分数列的条件.
\((x,y)\) 一共有 \(\binom{4m+2}{2}=\)\(\frac{(4m+2)(4m+1)}{2}\) 种情况,对于 \(x \bmod 4=1,y \bmod 4=2\) 有 \(\binom{m+2}{2}=\frac{(m+2)(m+1)}{2}\) ,对于 \(x \bmod 4=2,y\bmod 4=1,y-x\ge7\) 时有 \(\binom{m}{2}=\frac{{m(m-1)}}{2}\) 种.\(P_m\geq \frac{{2m^2+2m+2}}{16m^2+12m+2}> \frac{1}{8}\).
证毕!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步