题意: 已知\(f(n,a,b)=\sum_{i=1}^n\sum_{j=1}^igcd(i^a-j^a,i^b-j^b)[gcd(i,j)=1]\mod 1e9+7\),\(n\leq1e9\),且保证\(ab\)互质,求\(f(n,a,b)\) 思路: 由不知道什么得:当\(ab\)互质,则\(gcd(i^a-j^a,i^b-j^b)=i-j\). 那么可转化为: \[\begin{aligned} &\sum_{i=1}^n\sum_{j=1}^ii-j[gcd(i,j)=1]\mod 1…
1005 huntian oy (HDU 6706) 题意: 令,有T次询问,求 f(n, a, b). 其中 T = 10^4,1 <= n,a,b <= 1e9,保证每次 a,b互质. 思路: 首先我们需要知道 公式: gcd(a^n - b^n, a^m - b^m) = a^(gcd(m,n)) - b^(gcd(m,n)) 由a,b互质,原式即为 f(n, a, b) = ∑∑ (i-j)*[(i,j)=1] = ∑ (i*∑ [(i, j)=1] ) - ∑∑ j*[(i, j)=…
目录 题目链接 思路 代码 题目链接 传送门 思路 看到这题还比较懵逼,然后机房大佬板子里面刚好有这个公式\(gcd(a^n-b^n,a^m-b^m)=a^{gcd(n,m)}-b^{gcd(n,m)}\),然后自己随手推了一下就过了. 在知道上面那个公式后化简如下: \[ \begin{aligned} &\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{i}(i-j)[gcd(i,j)=1]&\\ =&\sum\limits_{i=1}^{n}(i…
题目描述 有N2−3N+2=∑d∣Nf(d)N^2-3N+2=\sum_{d|N} f(d)N2−3N+2=∑d∣N​f(d) 求∑i=1Nf(i)\sum_{i=1}^{N} f(i)∑i=1N​f(i)  mod 109+7~mod~10^9+7 mod 109+7 1<=T<=5001<=N<=1091<=T<=500\\1<=N<=10^91<=T<=5001<=N<=109 只有最多555组数据N>106N>10…
题意: 已知\(N^2-3N+2=\sum_{d|N}f(d)\),求\(\sum_{i=1}^nf(i) \mod 1e9+7\),\(n\leq1e9\) 思路: 杜教筛基础题? 很显然这里已经设了一个\(F(n) = \sum_{d|n}f(d)\),那么由莫比乌斯反演可以得到\(f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d})\). 然后卷积可以看出卷一个\(I\)比较好,则:\((f*g)(n)=\sum_{i=1}^nF(i)-\sum_{i=2}^nS(\lf…
题面传送门 首先 mol 一发现场 AC 的 csy 神仙 为什么这题现场这么多人过啊啊啊啊啊啊 继续搬运官方题解( 首先对于题目中的 \(k,P\)​,我们有若存在字符串 \(k,P,P'\)​ 满足 \(S=kP+P'\)​,且 \(P'\)​ 为 \(P\)​ 前缀,那么称 \(P\)​ 为 \(S\)​ 的一个周期,显然 \(k\)​ 最大等价于 \(|P|\)​ 最小,也就是说我们要找到对于每个 \(|P|\)​,最短周期长度为 \(|P|\)​ 的字符串个数,那么显然对于长度为 \(…
链接 luogu 思路 为了做hdu来学杜教筛. 杜教筛模板题. 卡常数,我加了register居然跑到不到800ms. 太深了. 代码 // luogu-judger-enable-o2 #include <bits/stdc++.h> #define ll long long using namespace std; const int _=5000030; int vis[_],pri[_],cnt,N,limit,mu[_]; ll phi[_]; unordered_map<i…
[题目链接] http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 [题目大意] 计算莫比乌斯函数的区段和 [题解] 利用杜教筛: 求F(n)=∑(f(i)) 存在g=f*I,定义G(n)=∑(g(i)) 就可以得到F(n)=G(n)-∑(F(n/i)) 加一些预处理我们可以做到O(n^(2/3))求解F(n) 我们知道积性函数∑(miu(d))=0(d|n),又有∑(miu(d))=1(n=1), 所以∑∑(miu…
[题目链接] https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1237 [题目大意] 求[1,n][1,n]最大公约数之和 [题解] 枚举最大公约数k,得到答案为2*∑(k*phi_sum(n/k))-n*(n+1)/2 phi_sum可以利用杜教筛实现 [代码] #include <cstdio> #include <algorithm> using namespace std; typedef lon…
Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans2 Sample Input 6 1 2 8 13 30 2333 Sample Output 1 1 2 0 22 -2 58 -3 278 -3 1655470 2 正解:线性筛+杜教筛. 杜教筛板子题.然而感觉自己还不是很理解的样子.. 唐老师博客:http://blog.csdn.net/skyw…