正题

题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1227


题目大意

定义
F(a)=∑i=1alcm(a,i)aF(a)=\frac{\sum_{i=1}^a lcm(a,i)}{a}F(a)=a∑i=1a​lcm(a,i)​
给出l,rl,rl,r求∑i=lrF(i)\sum_{i=l}^rF(i)∑i=lr​F(i)


解题思路

好久没做数论题了
直接拆成两个前缀和的差,然后有
∑i=1n∑j=1ijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^i\frac{j}{gcd(i,j)}i=1∑n​j=1∑i​gcd(i,j)j​
∑d=1n1d∑i=1n∑j=1ij[gcd(i,j)=d]\sum_{d=1}^n\frac{1}{d}\sum_{i=1}^n\sum_{j=1}^ij[gcd(i,j)=d]d=1∑n​d1​i=1∑n​j=1∑i​j[gcd(i,j)=d]
∑d=1n∑i=1⌊nd⌋∑j=1ij[gcd(i,j)=1]\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{i}j[gcd(i,j)=1]d=1∑n​i=1∑⌊dn​⌋​j=1∑i​j[gcd(i,j)=1]
12+∑d=1n∑i=1⌊nd⌋φ(i)i2\frac{1}{2}+\sum_{d=1}^n\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\frac{\varphi(i)i}{2}21​+d=1∑n​i=1∑⌊dn​⌋​2φ(i)i​

函数H(n)=φ(n)nH(n)=\varphi(n)nH(n)=φ(n)n可以用杜教筛,H×idH\times idH×id就可以得到n2n^2n2的函数。


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#define ll long long
using namespace std;
const ll N=5e6,P=1e9+7;
ll cnt,pri[N/10],phi[N];
bool v[N];map<ll,ll> mp;
void Prime(){phi[1]=1;for(ll i=2;i<N;i++){if(!v[i])pri[++cnt]=i,phi[i]=i-1;for(ll j=1;j<=cnt&&i*pri[j]<N;j++){v[i*pri[j]]=1;if(i%pri[j]==0){phi[i*pri[j]]=phi[i]*pri[j];break;}phi[i*pri[j]]=phi[i]*(pri[j]-1);}}for(ll i=1;i<N;i++)phi[i]=(phi[i]*i+phi[i-1])%P;return;
}
ll GetS(ll n)
{return n*(n+1)/2%P;}
ll GetSS(ll n)
{return n*(n+1)%P*(2*n+1)%P*((P+1)/6)%P;}
ll GetPhi(ll n){if(n<N)return phi[n];if(mp[n])return mp[n];ll ans=GetSS(n);for(ll l=2,r;l<=n;l=r+1){r=n/(n/l);(ans-=GetPhi(n/l)*(GetS(r)-GetS(l-1))%P)%=P;}mp[n]=ans;return ans;
}
ll solve(ll n){ll ans=0;if(!n)return 0;for(ll l=1,r;l<=n;l=r+1){r=n/(n/l);(ans+=(GetPhi(n/l)+1)*(r-l+1)%P)%=P;}return ans*((P+1)/2)%P;
}
signed main()
{ll l,r,ans;Prime();scanf("%lld%lld",&l,&r);ans=(solve(r)-solve(l-1))%P;printf("%lld\n",(ans+P)%P);return 0;
}

51nod1227-平均最小公倍数【杜教筛,欧拉函数】相关推荐

  1. 【Luogu3768】简单的数学题(莫比乌斯反演/杜教筛/欧拉函数)

    [Luogu3768]简单的数学题 https://www.cnblogs.com/cjyyb/p/8298339.html

  2. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

  3. 筛表合集(素数筛 欧拉函数筛 莫比乌斯函数筛)

    [目录] 一.素数筛 1.素数判断 2.素数普通筛 3.素数线性筛 4.素数区间筛 二.欧拉函数筛 三.莫比乌斯函数筛 [素数筛] 1.直接判定质数 bool judgePrime( int num ...

  4. [模板] 线筛欧拉函数

    今天复习了一些数学方面的东西,线性筛欧拉是个很重要的东西,先贴代码,免得以后又忘了. #include <iostream> #include <cstdlib> typede ...

  5. bzoj2186,P2155-[SDOI2008]沙拉公主的困惑【线性筛,欧拉函数,逆元】

    正题 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2186 https://www.luogu.org/problem/P2155 题 ...

  6. 为什么线性筛欧拉函数i%prime[j]==0的时候phi[i*prime[j]]=phi[i]*prime[j]

    看贾志鹏线性筛的时候想起来的. 我有一个繁琐的证明- -. 证明ϕ(pm)=p×ϕ(m),p为素数,m∈Z\phi(pm)=p\times\phi(m),p为素数,m\in \Bbb Z. 设 m=p ...

  7. jzoj1164-求和【欧拉函数,数论】(筛欧拉函数模板)

    正题 大意 给出一个nnn,求1∼n" role="presentation" style="position: relative;">1∼n1 ...

  8. P4450-双亲数,P5221-Product,P6055-[RC-02]GCD【莫比乌斯反演,杜教筛】

    除了最后一题都比较简单就写一起了 P4450-双亲数 题目链接:https://www.luogu.com.cn/problem/P4450 题目大意 给出A,B,dA,B,dA,B,d求有多少对(a ...

  9. 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数

    题目描述 Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes the Leas ...

最新文章

  1. Pots(poj-3414)bfs+输出路径
  2. css超过两行显示为..._使用这些不太常用的CSS属性,布局效率上又提高了一个层次...
  3. mysql查看数据文件ibdata_如何从 ibdata文件 恢复 MySQL 数据库
  4. 专访北京飞搜科技:一个创业公司该怎样在人工智能大潮中成长
  5. linux用户管理最常用的三个文件说明(不完整版)
  6. java设计模式0--设计模式简介
  7. 第三天 css核心属性
  8. python自动化开发_python自动化开发-2
  9. t分布 u分布 卡方分布_中心极限定理|z分布|t分布|卡方分布
  10. Linux系统编程30:进程信号之产生信号的四种方式(Core Dump,kill,raise)
  11. 负边距在布局中的使用
  12. linux修改密码的几种方法
  13. 深入理解uwsgi和gunicorn网络模型
  14. 绪论 数据库系统工程师考试分析
  15. Python 根据excel内容批量生成二维码
  16. 基于支持向量机的新闻分类
  17. 【学习感悟】找工作之前的焦虑
  18. 认识MyBatis、Mybatis笔记.MyBatis的核心配置,动态Mapper,动态SQL,表的关联及分页操作和缓存理解
  19. 软件测试灵魂三问,如何回怼?
  20. win11任务栏无响应/卡死

热门文章

  1. android宿舍管理系统源码,基于android操作系统的手机宿舍管理系统使用手册
  2. global.php,global.php
  3. python 服务端框架_GitHub - edisonlz/fastor: Python服务端开发框架-极易上手,超出你的想象!...
  4. python插入排序_python 插入排序,选择排序
  5. 算法题目——整数划分(HRBUST-2004)
  6. C++ 学习之旅(12)——static用法小结
  7. 二叉树的遍历(算法导论第三版12.1-4)(包含先序遍历,后序遍历和中序遍历)
  8. 算法-计算逆序对个数
  9. java类结构工具_java类层次结构图工具
  10. php mysql unsigned,PHP MySQL 核心