正题

题目链接:https://www.luogu.com.cn/problem/P1829


题目大意

给出n,mn,mn,m求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑n​j=1∑m​lcm(i,j)


解题思路

∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)}i=1∑n​j=1∑m​gcd(i,j)ij​
∑x=1nx×(∑i=1⌊nx⌋∑j=1⌊mx⌋ij×[gcd(i,j)==1])\sum_{x=1}^nx\times (\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ij\times [gcd(i,j)==1])x=1∑n​x×(i=1∑⌊xn​⌋​j=1∑⌊xm​⌋​ij×[gcd(i,j)==1])
∑x=1nx×∑x∣dμ(dx)d2∗∑i=1⌊nx⌋∑j=1⌊mx⌋ij\sum_{x=1}^nx\times \sum_{x|d}\mu(\frac{d}{x})d^2*\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ijx=1∑n​x×x∣d∑​μ(xd​)d2∗i=1∑⌊xn​⌋​j=1∑⌊xm​⌋​ij
单独拎出后面的来看
∑x∣dμ(dx)d2∗∑i=1⌊nx⌋∑j=1⌊mx⌋ij\sum_{x|d}\mu(\frac{d}{x})d^2*\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ijx∣d∑​μ(xd​)d2∗i=1∑⌊xn​⌋​j=1∑⌊xm​⌋​ij
∑x∣dμ(dx)d2∗∑i=1⌊nd⌋i∗∑j=1⌊md⌋j\sum_{x|d}\mu(\frac{d}{x})d^2*\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}i*\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}jx∣d∑​μ(xd​)d2∗i=1∑⌊dn​⌋​i∗j=1∑⌊dm​⌋​j
然后整除分块处理这一个
之后再在外面套一个整除分块即可。

时间复杂度O(n+m)O(n+m)O(n+m)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1e7+10,XJQ=20101009;
ll n,m,mu[N],pri[N],g[N],cnt,ans;
bool v[N];
void ycl(ll n){mu[1]=1;for(ll i=2;i<=n;i++){if(!v[i])pri[++cnt]=i,mu[i]=-1;for(ll j=1;j<=cnt&&i*pri[j]<=n;j++){v[i*pri[j]]=1;if(i%pri[j]==0)break;mu[i*pri[j]]=-mu[i];}}for(ll i=1;i<=n;i++)mu[i]=(mu[i-1]+mu[i]*i*i%XJQ)%XJQ;return;
}
ll solve(ll n,ll m){ll ans=0;for(ll l=1,r;l<=n;l=r+1){r=min(n/(n/l),m/(m/l));ll q=n/l,p=m/l;ans=(ans+(q*(q+1)/2%XJQ)*(p*(p+1)/2%XJQ)%XJQ*(mu[r]-mu[l-1]+XJQ)%XJQ)%XJQ;}return ans;
}
int main()
{scanf("%lld%lld",&n,&m);if(n>m)swap(n,m);ycl(m);for(ll l=1,r;l<=n;l=r+1){r=min(n/(n/l),m/(m/l));(ans+=(r+l)*(r-l+1)/2%XJQ*solve(n/l,m/l)%XJQ)%=XJQ;}printf("%lld\n",ans);
}

P1829-[国家集训队]Crash的数字表格/JZPTAB【莫比乌斯反演】相关推荐

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

    P1829 [国家集训队]Crash的数字表格 / JZPTAB 题意: 求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)∑i=1n​∑j ...

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

    [国家集训队]Crash的数字表格 / JZPTAB 题目描述 今天的数学课上,Crash 小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数 a a a 和 b b ...

  3. BZOJ 2154 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演,经典好题)(Luogu P1829)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P1829 [国家集训队]Crash的数字表格 / JZPTAB(反演,经典好题) Problem S ...

  4. P1829 [国家集训队]Crash的数字表格(推了好久的mobius反演)

    P1829 [国家集训队]Crash的数字表格 / JZPTAB 推导过程 ∑i=1n∑j=1mlcm(i,j)\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} lcm(i, j ...

  5. 【数论】Crash的数字表格 / JZPTAB(P1829)

    正题 P1829 题目大意 给出n,m,求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑n​j=1∑m​lcm(i,j) 解题思路 ∑i= ...

  6. P3704-[SDOI2017]数字表格【莫比乌斯反演】

    正题 题目链接:https://www.luogu.com.cn/problem/P3704 题目大意 TTT组询问,给出n,mn,mn,m求∏i=1n∏j=1mFbigcd(i,j)\prod_{i ...

  7. BZOJ 4816[SDOI2017]数字表格(莫比乌斯反演)

    题目链接 \(Description\) 用\(f_i\)表示\(fibonacci\)数列第\(i\)项,求\(\prod_{i=1}^{n}\prod_{j=1}^{m}f[gcd(i,j)]\) ...

  8. bzoj2154 Crash的数字表格

    2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 4549  Solved: 1643 [Submit][Status ...

  9. 【BZOJ2117】 [2010国家集训队]Crash的旅游计划

    [BZOJ2117] [2010国家集训队]Crash的旅游计划 Description 眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游. Cra ...

最新文章

  1. Opencv中除了cv2.cvtColor彩色图转灰度图之外的其他6种方法
  2. Spark in meituan http://tech.meituan.com/spark-in-meituan.html
  3. crlf注入漏洞 java解决办法_HTTP响应拆分漏洞(CRLF注入攻击)解决办法
  4. 央行允许银行倒闭破产,那么储户的存款怎么办?
  5. ElasticSearch 索引、更新和删除数据
  6. NAT网关之SNAT进阶使用(二)构建ECS级别SNAT出网方式
  7. filezilla 共享多个目录_filezilla设置中文,3步搞定filezilla中文设置
  8. 最小生成树之克鲁斯卡尔(kruskal)算法详解代码实现
  9. 全国计算机一级考试网络知识,全国计算机等级考试一级网络基础知识复习题及答案.doc...
  10. 延边大学计算机考研压分吗,这6所大学被严重低估,2020届高三考生注意收藏!适合“捡漏”...
  11. python人机猜拳游戏代码_python 实现人和电脑猜拳的示例代码
  12. 【Web项目】点餐系统
  13. [2021.05.26]AudioTrack流程分析
  14. PTA题目 计算分段函数[3]
  15. 「干货」项目经理工作流程23步,步步惊心
  16. android 定位服务源码,android gps定位app源码(GpsTracker)
  17. 2021-10-26第八章思考题
  18. 下列关于c语言的结构特点叙述错误的是,全国计算机等级考试二级C模拟试题(1)...
  19. 697-细谈IP协议
  20. 计算机键盘f1到f12功能键的功能肯作用,电脑键盘上F1到F12功能键的作用分别是什么?...

热门文章

  1. lisp正负调换_坐标提取lisp程序
  2. html注释的爱情故事,爱情故事”为你的婚礼贴上专属标签
  3. io流图解 java_详细讲解JAVA中的IO流
  4. c语言 大数相加,c/c++开发分享C语言计算大数相加的方法
  5. [蓝桥杯2016初赛]寒假作业-next_permutation枚举
  6. lua transliterate实现(lua程序设计10.6练习10.3题)
  7. 如何把自己的经历写成小说_古天乐的经历教会我们:如何在被欺骗以后改善自己的心理状态...
  8. 用python处理excel的基本语法_《使用python3读取处理excel表的数据内容如何对内容求平均值》 用python读取excel文件...
  9. mingw w64 matlab,Matlab安装MinGW-w64问题解决
  10. AGC023F - 01 on Tree