【bzoj2154】 Crash的数字表格
http://www.lydsy.com/JudgeOnline/problem.php?id=2154 (题目链接)
题意
给出${n,m}$,求$${\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)}$$
Solution
莫比乌斯反演,推啊推式子。
\begin{aligned} \sum_{i=1}^n\sum_{j=1}^mlcm(i,j)=&\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)} \\ =&\sum_{g=1}^{min(n,m)}\sum_{i=1}^{\lfloor{n/g}\rfloor}\sum_{j=1}^{\lfloor{m/g}\rfloor}\frac{ijg^2}{g}[gcd(i,j)=1] \\ =&\sum_{g=1}^{min(n,m)}g\sum_{i=1}^{\lfloor{n/g}\rfloor}\sum_{j=1}^{\lfloor{m/g}\rfloor}ij\sum_{t|i,t|j}μ(t) \\ =&\sum_{g=1}^{min(n,m)}g\sum_{t=1}^{min(\lfloor{n/g}\rfloor,\lfloor{m/g}\rfloor)}μ(t)\sum_{i=1}^{\lfloor{n/(gt)}\rfloor}\sum_{j=1}^{\lfloor{m/(gt)}\rfloor}ijt^2 \end{aligned}
此时,我们用${S(n)}$表示${\sum_{i=1}^ni}$。
\begin{aligned} \sum_{g=1}^{min(n,m)}g\sum_{t=1}^{min(\lfloor{n/g}\rfloor,\lfloor{m/g}\rfloor)}μ(t)t^2S(\lfloor\frac{n}{gt}\rfloor)S(\lfloor\frac{m}{gt}\rfloor) \end{aligned}
令${Q=gt}$。
\begin{aligned} \sum_{Q=1}^{min(n,m)}S(\lfloor\frac{n}{Q}\rfloor)S(\lfloor\frac{m}{Q}\rfloor)Q\sum_{t|Q}tμ(t) \end{aligned}
我们发现,${g(Q)=\sum_{t|Q}tμ(t)}$是个积性函数,为什么呢。首先有公式${f(t)=tμ(t)}$是积性的,那么我们构造另外一个积性函数${p(t)=1}$,将${f}$和${p}$狄利克雷卷积,就得到了${g}$,所以${g}$是个积性函数,可以用线性筛在${O(n)}$的时间内算出来,所以最后复杂度就是${O(n)}$的。
细节
最后输出答案的时候加模再取模
代码
// bzoj2154
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#define LL long long
#define inf 2147483647
#define MOD 20101009
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=10000010;
LL f[maxn],S[maxn];
int p[maxn],vis[maxn],n,m; int main() {
scanf("%d%d",&n,&m);
if (n>m) swap(n,m);
S[1]=f[1]=1;
for (int i=2;i<=m;i++) {
if (!vis[i]) p[++p[0]]=i,f[i]=1-i;
for (int j=1;j<=p[0] && p[j]*i<=m;j++) {
vis[i*p[j]]=1;
if (i%p[j]==0) {f[i*p[j]]=f[i];break;}
else f[i*p[j]]=f[i]*f[p[j]]%MOD;
}
S[i]=(S[i-1]+i)%MOD;
}
LL ans=0;
for (LL i=1;i<=n;i++)
ans=(ans+S[n/i]*S[m/i]%MOD*i%MOD*f[i]%MOD)%MOD;
printf("%lld\n",(ans+MOD)%MOD);
return 0;
}
【bzoj2154】 Crash的数字表格的更多相关文章
- BZOJ2154 Crash的数字表格 【莫比乌斯反演】
BZOJ2154 Crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b) ...
- BZOJ2154: Crash的数字表格 & BZOJ2693: jzptab
[传送门:BZOJ2154&BZOJ2693] 简要题意: 给出n,m,求$\sum_{i=1}^{n}\sum_{j=1}^{m}LCM(i,j)$ 题解: 莫比乌斯反演(因为BZOJ269 ...
- Bzoj2154 Crash的数字表格 乘法逆元+莫比乌斯反演(TLE)
题意:求sigma{lcm(i,j)},1<=i<=n,1<=j<=m 不妨令n<=m 首先把lcm(i,j)转成i*j/gcd(i,j) 正解不会...总之最后化出来的 ...
- BZOJ2154: Crash的数字表格
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2154 题意&&题解:http://www.cnblogs.com/jiangl ...
- 【莫比乌斯反演】BZOJ2154 Crash的数字表格
Description 求sigma lcm(x,y),x<=n,y<=m.n,m<=1e7. Solution lcm没有什么直接做的好方法,用lcm=x*y/gcd转成gcd来做 ...
- bzoj千题计划253:bzoj2154: Crash的数字表格
http://www.lydsy.com/JudgeOnline/problem.php?id=2154 #include<cstdio> #include<algorithm> ...
- bzoj2154: Crash的数字表格 莫比乌斯反演
题意:求\(\sum_{i=1}^n \sum_{j=1}^m\frac{i*j}{gcd(i,j)}\) 题解:\(ans=\sum_{i=1}^n\sum_{j=1}^m \frac{i*j}{g ...
- [bzoj2154]Crash的数字表格(mobius反演)
题意:$\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^m {lcm(i,j)} } $ 解题关键: $\sum\limits_{i = 1}^n {\sum\l ...
- 莫比乌斯反演套路三、四--BZOJ2154: Crash的数字表格 && BZOJ2693: jzptab
t<=1e4个询问每次问n,m<=1e7,$\sum_{1\leqslant x \leqslant n,1 \leqslant y\leqslant m}lcm(x,y)$. 首先题目要 ...
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)
[BZOJ2154]Crash的数字表格(莫比乌斯反演) 题面 BZOJ 简化题意: 给定\(n,m\) 求\[\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)\] 题解 以下的一切都 ...
随机推荐
- Hyperledger Fabric 中channel配置相关数据结构
channel Configuration Transaction Hyperledger Fabric区块链网络中的配置存储在一个configuration-transaction的集合中,每个ch ...
- Xiuno BBS 4.0 修改时间显示
修罗开源轻论坛程序 - Xiuno BBS 4.0Xiuno BBS 4.0 是一款轻论坛产品,前端基于 BootStrap 4.0.JQuery 3,后端基于 PHP/7 MySQL XCache/ ...
- 北美跨境电商平台Wish透露未来一年在华规划
9月12日,北美跨境电商平台Wish在深圳透露了未来一年在中国区的重点规划.Wish中国区总裁丁浩川表示,在下一阶段,Wish公司将继续围绕 提升平台流量. 加强品类支撑. 深化库存管理. 推进物流改 ...
- 兼容所有浏览器的旋转效果-IE滤镜Matrix和CSS3transform
在现代浏览器中使用CSS3的transform样式即可轻松搞定,但是对于国内IE浏览器(特别是7,8)还占有较大份额的情况下,兼容性还是必须要考虑的,所以也特意记录下IE旋转滤镜的使用. 在IE下的旋 ...
- java实验三实验报告
一.实验内容 1. XP基础 2. XP核心实践 3. 相关工具 二.实验过程(本次试验是在自己电脑上完成,没有使用实验楼) (一)敏捷开发与XP 1.XP是以开发符合客户需要的软件为目标而产生的一种 ...
- 《TCP/IP 详解 卷1:协议》第 2 章:Internet 地址结构
第二章介绍 Internet 使用的网络层地址,即熟知的 IP 地址.连接到 Internet 的设备,基于 TCP/IP 的专用网络中使用的设备都需要一个 IP 地址. 路由器(见 IP 协议 一章 ...
- Eclipse下高亮显示Freemarker文件
让eclipse高亮显示freemarker文件有两种方式,一种是安装JBoss的插件,一种是用JSP编辑器打开freemarker的文件.我使用第二种方式来完成. 打开eclipse,点击windo ...
- Redis4.0模块子系统实现简述
一.模块加载方法 1.在配置文件或者启动参数里面通过<loadmodule /path/to/mymodule.so args>指令加载 2.Redis启动后,通过<module l ...
- MSSQL中IN是否用索引.....[转]
作者:no_mIss 用MSSQL时间快一年了,数据量有时会相对比较多,所以经常要优化,也看过很多资料,但大都有一句:IN.NOT IN不用索引,今天发此贴希望能有人参与讨论,到底IN用不用索引,如果 ...
- java中的Serializable接口的作用
实现java.io.Serializable 接口的类是可序列化的.没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化. 序列化类的所有子类本身都是可序列化的.这个序列化接口没有任何方法和域, ...