[国家集训队]Crash的数字表格 / JZPTAB

题意

求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)\),\(n,m\le 10^7\)


鉴于我式子没推出来,所以再推一遍。

\[\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)
\]

\[=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\frac{ij}{gcd(i,j)}
\]

\[=\sum\limits_{i=1}^n\sum\limits_{j=1}^m ij\sum_{k=1}^{min(i,j)}\frac{1}{k}[gcd(i,j)=k]
\]

\[=\sum_{k=1}^{min(n,m)}\frac{1}{k}\sum_{i=1}^n\sum_{j=1}^mij[gcd(i,j)=k]
\]

\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij[gcd(i,j)=1]
\]

\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ij\sum_{d=1}^{min(i,j)}\mu(d)[gcd(i,j)=d]
\]

\[=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{min(\lfloor\frac{n}{k}\rfloor,\lfloor\frac{m}{k}\rfloor)}\mu(d)d^2\sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}ij
\]

令$g(x)=\frac{(x+1)x}{2}$

\[=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{min(\lfloor\frac{n}{k}\rfloor,\lfloor\frac{m}{k}\rfloor)}\mu(d)d^2g(\lfloor\frac{n}{kd}\rfloor)g(\lfloor\frac{m}{kd}\rfloor)
\]

令$T=kd$

\[=\sum_{T=1}^{min(n,m)}g(\lfloor\frac{n}{T}\rfloor)g(\lfloor\frac{m}{T}\rfloor)\sum_{kd=T}kd^2\mu(d)
\]

\[=\sum_{T=1}^{min(n,m)}g(\lfloor\frac{n}{T}\rfloor)g(\lfloor\frac{m}{T}\rfloor)T\sum_{d|T}d\mu(d)
\]

设\(f(n)=\sum_{d|n}d\mu(d)\)

研究一下\(\tt{Ta}\)的性质,设\(p\)代表一个质数。

有\(f(p)=1-p,f(p^n)=f(p)\),\(f(n)\)是一个积性函数。

所以我们可以在线筛的时候把这个函数\(O(n)\)筛出来。

前面整除分块一下就可以了。

总复杂度\(O(\sqrt n+n)\)


Code:

#include <cstdio>
#define ll long long
const ll mod=20101009;
const int N=1e7;
int pri[N+10],ispri[N+10],cnt;
ll g[N+10];
#define f(x) (((x)+1)*(x)/2%mod)
void init()
{
g[1]=1;
for(int i=2;i<=N;i++)
{
if(!ispri[i])
{
g[i]=1-i;
pri[++cnt]=i;
}
for(int j=1;j<=cnt&&pri[j]*i<=N;j++)
{
ispri[pri[j]*i]=1;
if(i%pri[j]==0){g[pri[j]*i]=g[i];break;}
else g[pri[j]*i]=g[i]*g[pri[j]]%mod;
}
}
for(int i=1;i<=N;i++) g[i]*=i%=mod,(g[i]+=g[i-1])%mod;
}
ll min(ll a,ll b){return a<b?a:b;}
int main()
{
init();
ll ans=0,n,m;
scanf("%lld%lld",&n,&m);
for(ll l=1,r;l<=min(n,m);l=r+1)
{
r=min(n/(n/l),m/(m/l));
(ans+=f(n/l)*f(m/l)%mod*(g[r]-g[l-1]))%=mod;
}
printf("%lld\n",(ans+mod)%mod);
return 0;
}

2018.10.26

洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB 解题报告的更多相关文章

  1. 洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

    题目背景 提示:原 P1829 半数集问题 已经迁移至 P1028 数的计算 题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a ...

  2. 洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

    传送门 式子好麻烦orz……大佬好腻害orz->这里 //minamoto #include<iostream> #include<cstdio> #define ll ...

  3. 洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

    题意:求$\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)$. 开始开心(自闭)化简: $\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)$ =$\su ...

  4. 洛谷P1829 [国家集训队]Crash的数字表格

    题目描述 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时整除a和b的最小正整数.例如,LCM(6, ...

  5. [Luogu P1829] [国家集训队]Crash的数字表格 / JZPTAB (莫比乌斯反演)

    题面 传送门:洛咕 Solution 调到自闭,我好菜啊 为了方便讨论,以下式子\(m>=n\) 为了方便书写,以下式子中的除号均为向下取整 我们来颓柿子吧qwq 显然,题目让我们求: \(\l ...

  6. P1829 [国家集训队]Crash的数字表格 / JZPTAB

    推式子太快乐啦!虽然我好蠢而且dummy和maomao好巨(划掉) 思路 莫比乌斯反演的题目 首先这题有\(O(\sqrt n)\)的做法但是我没写咕咕咕 然后就是爆推一波式子 \[ \sum_{i= ...

  7. P1829 [国家集训队]Crash的数字表格 / JZPTAB 莫比乌斯反演

    又一道...分数和取模次数成正比$qwq$ 求:$\sum_{i=1}^N\sum_{j=1}^Mlcm(i,j)$ 原式 $=\sum_{i=1}^N\sum_{j=1}^M\frac{i*j}{g ...

  8. P1829 [国家集训队]Crash的数字表格

    P1829 [国家集训队]Crash的数字表格 原题传送门 前置芝士 莫比乌斯反演 乘法逆元 数论分块 正文 //补充:以下式子中的除法均为整除 由题目可以得知,这道题让我们所求的数,用一个式子来表达 ...

  9. 题解-[国家集训队]Crash的数字表格 / JZPTAB

    题解-[国家集训队]Crash的数字表格 / JZPTAB 前置知识: 莫比乌斯反演 </> [国家集训队]Crash的数字表格 / JZPTAB 单组测试数据,给定 \(n,m\) ,求 ...

随机推荐

  1. Angular简单总结

    AngularJS AngularJS四大特征 MVC模式 双向绑定 依赖注入 模块化设计 AngularJS 表达式 AngularJS 表达式写在双大括号内{{expression }},可以包含 ...

  2. MetInfo最新网站漏洞如何修复以及网站安全防护

    metinfo漏洞于2018年10月20号被爆出存在sql注入漏洞,可以直接拿到网站管理员的权限,网站漏洞影响范围较广,包括目前最新的metinfo版本都会受到该漏洞的攻击,该metinfo漏洞产生的 ...

  3. Drupal 网站漏洞修复以及网站安全防护加固方法

    drupal是目前网站系统使用较多一个开源PHP管理系统,架构使用的是php环境+mysql数据库的环境配置,drupal的代码开发较为严谨,安全性较高,但是再安全的网站系统,也会出现网站漏洞,dru ...

  4. 第三章 最简单的C程序设计——顺序程序设计

    一.数据的表现形式及其运算 1.常量和变量 在计算机高级语言中,数据有两种表现形式:常量和变量. 1.1.常量 在程序运行过程中,其值不能被改变的量称为常量.如:5,6,32,0.111. 数值常量就 ...

  5. 清华大学《C++语言程序设计基础》线上课程笔记01---基础概念与一些注意事项

    使用除法的注意事项 double b = 4.0 * 1/239.0; 因为整数相除结果取整,如果参数写1/239,结果就都是0 浮点数注意事项 浮点数是近似存储,所以不能直接比较两个浮点数的大小, ...

  6. C# static const和readonly区别

    Const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量. Static 定义的是静态变量.可以再外部改变它的值.. Readonly 是只读变量.属于运行时变量.可以在类 ...

  7. Android Open Source Projects(汇总与整理)

    Android Open Source Projects 目前包括: Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager ...

  8. zabbix 一些问题随记

    1. zabbix运行不了,显示被锁,去检查日志中的报错 2. 配置界面,连接不到数据库,检查server配置文件,mysql授权命令要准确,重启 3. 显示没有php文件,下载即可,或者修改网页访问 ...

  9. ardupilot_gazebo仿真(二)

    ardupilot_gazebo仿真(二) 标签(空格分隔): 未分类 在模型中添加sensor gezebo官网-sensor部分教程 gezebo官网-基础部分教程 Gazebo plugins ...

  10. 深度学习anchor的理解

    摘抄与某乎 anchor 让网络学习到的是一种推断的能力.网络不会认为它拿到的这一小块 feature map 具有七十二变的能力,能同时从 9 种不同的 anchor 区域得到.拥有 anchor ...