Description
很久很久以前,有一只神犇叫yzy;
很久很久之后,有一只蒟蒻叫lty;
Input
请你读入一个整数N;1&lt;=N&lt;=109,A、BN;1&lt;=N&lt;=10^9,A、BN;1<=N<=109,A、B模109+710^9+7109+7;
Output
请你输出一个整数A=∑i=1Nμ(i2)A=\sum_{i=1}^N{\mu (i^2)}A=∑i=1N​μ(i2)
请你输出一个整数B=∑i=1Nφ(i2)B=\sum_{i=1}^N{\varphi (i^2)}B=∑i=1N​φ(i2)
Sample Input
1
Sample Output
1
1


solutionsolutionsolution:
(第一问我不会做啊(咳咳)
第二问是bzoj3944bzoj3944bzoj3944的加强版
不难发现ϕ(i)2=i∗ϕ(i)\phi(i)^2=i*\phi (i)ϕ(i)2=i∗ϕ(i)
直接和g=εg=\varepsilong=ε做卷积就可以得到h(n)=n2h(n)=n^2h(n)=n2

#include<bits/stdc++.h>
using namespace std;
#define rep(i,j,k) for(int i = j;i <= k;++i)
#define repp(i,j,k) for(int i = j;i >= k;--i)
#define rept(i,x) for(int i = linkk[x],y = e[i].y;i;i = e[i].n,y = e[i].y)
#define P pair<int,int>
#define Pil pair<int,ll>
#define Pli pair<ll,int>
#define Pll pair<ll,ll>
#define pb push_back
#define pc putchar
#define mp make_pair
#define file(k) memset(k,0,sizeof(k))
#define ll long long
int rd()
{int num = 0;char c = getchar();bool flag = true;while(c < '0'||c > '9') {if(c == '-') flag = false;c = getchar();}while(c >= '0' && c <= '9') num = num*10+c-48,c = getchar();if(flag) return num;else return -num;
}
const int N = 1e6;
const int p = 1e9+7;
int n,inv,inv2;
int prime[N+10],phi[N+10],v[N+10];
inline int mul(int a,int b){return 1ll*a*b%p;}
inline int calc(int a,int b){return (a+=b)>=p?a-=p:a;}
inline int del(int a,int b){return (a-=b)<0?a+=p:a;}
inline int ksm(int a,int x){int now=1;for(;x;x>>=1,a=1ll*a*a%p)if(x&1)now=1ll*now*a%p;return now;}
unordered_map<int,int>Phi;
void pre()
{phi[1] = 1;rep(i,2,N){if(!v[i]) prime[++prime[0]] = i,v[i] = i,phi[i] = i-1;rep(j,1,prime[0]){if(v[i] < prime[j] || i*prime[j] > N) break;v[i*prime[j]] = prime[j];phi[i*prime[j]] = phi[i] * (i%prime[j]?prime[j]-1:prime[j]);if(i%prime[j] == 0) break; }}rep(i,1,N) phi[i] = mul(phi[i],i),phi[i] = calc(phi[i],phi[i-1]);
}
int get(int i,int j)
{return mul(inv2,mul(i+j,j-i+1));
}
int solve(int n)
{if(n<=N) return phi[n];if(Phi.find(n) != Phi.end()) return Phi[n];int now = mul(n,mul(n+1,mul(2*n+1,inv))),i=2;while(i <= n){int j = n/(n/i);now = del(now,mul( get(i,j) , solve(n/i) ) );i = j+1;}Phi[n] = now;return now;
}
int main()
{pre();inv = ksm(6,p-2);inv2 = ksm(2,p-2);int x = rd();printf("1\n%d\n",solve(x));return 0;
}

bzoj4916: 神犇和蒟蒻(杜教筛)相关推荐

  1. 【bzoj4916】神犇和蒟蒻 杜教筛

    题目描述 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; 输入 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; 输出 请你输出一个整数A=\sum_{ ...

  2. bzoj4916 神犇和蒟蒻

    求μ\mu的不用说了. 构造和式 ∑i=1n∑d|iφ(d)∗d∗id \sum_{i=1}^n\sum_{d|i}\varphi(d)*d*\frac i d 一方面 上式=∑ni=1i2\text ...

  3. 【BZOJ4916】神犇和蒟蒻(杜教筛)

    [BZOJ4916]神犇和蒟蒻(杜教筛) https://www.cnblogs.com/cjyyb/p/8297338.html 杜教筛技巧

  4. 【BZOJ4916】神犇与蒟蒻

    题面 Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;\(1<=N<=10^9\),A.B模\(10^9+7 ...

  5. BZOJ 4916 神犇和蒟蒻

    题目链接 https://lydsy.com/JudgeOnline/problem.php?id=4916 题解 ∑i=1Nμ(i2)=1∑i=1Nφ(i2)=∑i=1Niφ(i) \sum_{i= ...

  6. [BZOJ 4916]神犇和蒟蒻

    传送门 Description \[ sum_G(n)=\sum_{i=1}^n \mu(i^2)\\sum_F(n)=\sum_{i=1}^n \phi(i^2) \] Solution For a ...

  7. [学习笔记] 初次见面,请多关照 (公式推导+题集)——杜教筛

    筛积性函数的前缀和 常见积性函数 公式推导 狄利克雷卷积 杜教筛 实现 常见卷积 习题集 Sum 神犇和蒟蒻 简单的数学题 常见积性函数 μ\muμ φφφ d(n)d(n)d(n):nnn的约数个数 ...

  8. 杜教筛 (包括线筛) 莫比乌斯函数前缀和 欧拉函数前缀和 因数和函数前缀和 因子个数前缀和 ( 分析 )...

    对于莫比乌斯函数 和 欧拉函数  小于 1e8差不多都可线筛    1e12以内  杜教筛 代码针对洛古  p4213  n<=(1<<31)-1  杜教筛 #include< ...

  9. 51nod 1220 约数之和【莫比乌斯反演+杜教筛】

    首先由这样一个式子:\( d(ij)=\sum_{p|i}\sum_{q|j}[gcd(p,q)==1]\frac{pj}{q} \)大概感性证明一下吧我不会证 然后开始推: \[ \sum_{i=1 ...

最新文章

  1. keras 的 example 文件 imdb_fasttext.py 解析
  2. js符号输入不可用_js禁止输入特殊字符
  3. 【资料整理】编译安装nginx
  4. Android之添加快捷方式(Shortcut)到手机桌面
  5. 用CSS3来代替JS实现交互
  6. java pojo 转 map_JSON和JAVA的POJO的相互转换
  7. eclipse maven配置_Gradle学习记录015 声明仓库,检查依赖,管理依赖的配置
  8. JAVA自测题栏目正式上线,来测测你的Java功力到底如何!
  9. 2020-5-9 开始阅读深入理解java虚拟机
  10. 连续时间系统的s域分析(Matlab)
  11. html、javascript、url特殊字符的转义诠释及使用方法详解
  12. Action以外的类中来获得Spring所管理的Service对象
  13. 运维工作常见问题处理38-74(二)
  14. linux下安装MySQL-server-5.6.28
  15. 寒武纪加速平台(MLU200系列) 摸鱼指南(一)--- 基本概念及相关介绍
  16. 计算机变式教学,试论大学公共计算机网络课程变式练习.pdf
  17. 手机蓝牙音响音质测试软件,多款蓝牙音箱对比评测 | 声音性能及产品硬素质对比评测_什么值得买...
  18. 【英语阅读】纽约时报 | 台湾美食为什么那么“Q”?
  19. virtualbox和Hyperv
  20. ASEMI大功率LED驱动器整流桥KBP210

热门文章

  1. el-avatar入门学习
  2. 图片批量重命名编号,一键处理的方法!
  3. “赌徒”金立|一点财经
  4. nextjs12支持less
  5. golang pbkdf2加密存储用户密码
  6. 数据库登录账号和密码的验证
  7. 《电脑编程技巧与维护》2011年第22期刊登出《DB Query Analyzer中的事务管理在DB2中的应用》
  8. 桶排序基数排序代码及简要说明
  9. 九八投洽会,图扑为你再现工业元宇宙
  10. 武汉大学超算入门介绍