题目

设 \(\large A(n)=\frac{1}{n}\sum_{i=1}^n lcm(i,n)\),

求 \(\sum_{i=l}^rA(i)\),\(n\leq 10^9\)


分析

题意可以转化成求 \(\large \sum_{i=1}^n\frac{1}{i}\sum_{j=1}^i lcm(i,j)\)

首先把 \(lcm\) 弄掉就是 \(\large \sum_{i=1}^n\sum_{j=1}^i\frac{j}{\gcd(i,j)}\)

考虑枚举 \(\gcd(i,j)\) 那么再化简一下可以得到

\[\sum_{i=1}^n\sum_{d|i}\sum_{j=1}^{\frac{i}{d}}j[\gcd(\frac{i}{d},j)==1]=\sum_{i=1}^n\sum_{d|i}\sum_{j=1}^{d}j[\gcd(d,j)==1]
\]

设 \(\large f(n)=\sum_{i=1}^{n}j[\gcd(n,i)==1]\),那么 \(\large f(n)=\begin{cases}\frac{n\varphi(n)}{2}[n>1]\\1\end{cases}\)

那么原式进一步化简为 \(\large \frac{n}{2}+\frac{1}{2}\sum_{i=1}^n\sum_{d|i}d\varphi(d)\)

枚举 \(d\) 可以得到

\[\frac{n}{2}+\frac{1}{2}\sum_{d=1}^nd\varphi(d)\lfloor\frac{n}{d}\rfloor
\]

外层整除分块,然后里层卷一个 \(id\) 杜教筛就可以了


代码

#include <cstdio>
#include <unordered_map>
using namespace std;
const int N=10000011,mod=1000000007;
const long long i2=(mod+1)/2,i6=i2/3;
int f[N],prime[N],v[N],Cnt,A,B;
unordered_map<int,int>F;
int mo(int x,int y){return x+y>=mod?x+y-mod:x+y;}
void Pro(int n){
f[1]=v[1]=1;
for (int i=2;i<=n;++i){
if (!v[i]) prime[++Cnt]=v[i]=i,f[i]=i*(i-1ll)%mod;
for (int j=1;j<=Cnt&&prime[j]<=n/i;++j){
f[i*prime[j]]=1ll*f[i]*f[prime[j]]%mod,v[i*prime[j]]=1;
if (i%prime[j]==0){
f[i*prime[j]]=mo(f[i*prime[j]],1ll*f[i]*prime[j]%mod);
break;
}
}
}
for (int i=2;i<=n;++i) f[i]=mo(f[i],f[i-1]);
}
int phid(int n){
if (n<=N-11) return f[n];
if (F.find(n)!=F.end()) return F[n];
int ans=i6*n%mod*(n+1)%mod*(n<<1|1)%mod;
for (int l=2,r;l<=n;l=r+1)
r=n/(n/l),ans=mo(ans,mod-i2*(l+r)%mod*(r-l+1)%mod*phid(n/l)%mod);
return ans;
}
int answ(int n){
int ans=n,las=0;
for (int l=1,r,now;l<=n;l=r+1,las=now){
r=n/(n/l),now=phid(r);
ans=mo(ans,1ll*(now-las+mod)*(n/l)%mod);
}
return i2*ans%mod;
}
int main(){
Pro(N-11),scanf("%d%d",&A,&B);
return !printf("%d",mo(answ(B),mod-answ(A-1)));
}

#杜教筛,欧拉函数#51nod 1227 平均最小公倍数的更多相关文章

  1. 51Nod.1237.最大公约数之和 V3(莫比乌斯反演 杜教筛 欧拉函数)

    题目链接 \(Description\) \(n\leq 10^{10}\),求 \[\sum_{i=1}^n\sum_{j=1}^ngcd(i,j)\ mod\ (1e9+7)\] \(Soluti ...

  2. luogu P3768 简单的数学题 杜教筛 + 欧拉反演 + 逆元

    求 $\sum_{i=1}^{n}\sum_{j=1}^{n}ijgcd(i,j)$   考虑欧拉反演: $\sum_{d|n}\varphi(d)=n$   $\Rightarrow \sum_{i ...

  3. 2019年南京网络赛E题K Sum(莫比乌斯反演+杜教筛+欧拉降幂)

    目录 题目链接 思路 代码 题目链接 传送门 思路 首先我们将原式化简: \[ \begin{aligned} &\sum\limits_{l_1=1}^{n}\sum\limits_{l_2 ...

  4. The Euler function(线性筛欧拉函数)

    /* 题意:(n)表示小于n与n互质的数有多少个,给你两个数a,b让你计算a+(a+1)+(a+2)+......+b; 初步思路:暴力搞一下,打表 #放弃:打了十几分钟没打完 #改进:欧拉函数:具体 ...

  5. 51nod 1227 平均最小公倍数【欧拉函数+杜教筛】

    以后这种题能用phi的就不要用mu-mu往往会带着个ln然后被卡常致死 把题目要求转换为前缀和相减的形式,写出来大概是要求这样一个式子: \[ \sum_{i=1}^{n}\sum_{j=1}^{i} ...

  6. 51NOD 1227 平均最小公倍数 [杜教筛]

    1227 平均最小公倍数 题意:求\(\frac{1}{n} \sum_{i=1}^n lcm(n,i)\) 和的弱化版? \[ ans = \frac{1}{2}((\sum_{i=1}^n \su ...

  7. 素数的线性筛 && 欧拉函数

    O(n) 筛选素数 #include<bits/stdc++.h> using namespace std; const int M = 1e6 + 10 ; int mindiv[M] ...

  8. BZOJ 2818 GCD 素数筛+欧拉函数+前缀和

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2818 题意:给定整数N,求1<=x,y<=n且Gcd(x,y)为素数的数对( ...

  9. [bzoj 2190][SDOI2008]仪仗队(线性筛欧拉函数)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 分析:就是要线性筛出欧拉函数... 直接贴代码了: memset(ans,,sizeof ...

  10. 积性函数&线性筛&欧拉函数&莫比乌斯函数&因数个数&约数个数和

    只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 ...

随机推荐

  1. 美团面试:说说OOM三大场景和解决方案? (绝对史上最全)

    首先,咱们先聊聊,什么是OOM? 小伙伴们,有没有遇到过程序突然崩溃,然后抛出一个OutOfMemoryError的异常?这就是我们俗称的OOM,也就是内存溢出.简单来说,就是你的Java应用想要的内 ...

  2. Nacos搭建单机实例

    Nacos是阿里开源的微服务架构组件,既可以用作服务注册中心,也可用作配置中心. 虽然Nacos的官方文档也有关于如何部署的说明,但是个人觉得不够详细和连续,故本文将阐述在单机环境实际搭建Nacos环 ...

  3. 在Hexo中引入本地图片的实现

    实现步骤 第一步:修改项目根目录下的_config.yml文件参数post_asset_folder值为true. # 开始使用本地静态资源 post_asset_folder: true 第二步:安 ...

  4. 项目实战:Qt数据分析处理平台(兼容各国产麒麟系统)(文件域字符串解析,上万文件批量导入,折线图、散点图,正态分布图分析处理导出等)

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/114710650长期持续带来更多项目与技术分享, ...

  5. nginx中使用perl脚本来定制一些请求转发等等

    http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...

  6. CentOS系统下,配制nginx访问favicon.ico

    sudo vim /etc/nginx/nginx.conf 添加以下配制: # set site faviconlocation /favicon.ico { root html;} 完整配置如下: ...

  7. 【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x

    问题描述 使用 Azure Funciton App,在本地运行完全成功的Python代码,发布到Azure Function就出现了500  Internal Server Error. 而且错误消 ...

  8. MySQL学习之初识数据库

    •数据库的相关概念 DB : 数据库,保存一组有组织的数据的容器 DBMS : 数据库管理系统,又称为数据库软件(产品),用于管理 DB 中的数据 SQL : 结构化查询语言,用于和 DBMS 通信的 ...

  9. 使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)

    问题详情 我想让我的LabVIEW VI使用默认应用程序打开硬盘上的文档.如何实现? 解决方案 有一个名为 "Open a Document on Disk.vi" 的 VI,它可 ...

  10. 来自 AI Secure 实验室的 LLM 安全排行榜简介

    近来,LLM 已深入人心,大有燎原之势.但在我们将其应用于千行百业之前,理解其在不同场景下的安全性和潜在风险显得尤为重要.为此,美国白宫发布了关于安全.可靠.可信的人工智能的行政命令; 欧盟人工智能法 ...