[SDOI2015]约数个数和
题意:\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^n\sum{j=1}^md(ij)\)
由结论得\[ans=\sum_{i=1}^n\sum_{j=1}^m\sum_{x|i}\sum_{y|j}[GCD(x,y)==1]\]
我们换个方向,考虑\(x, y\)的贡献,则 \[ans=\sum_{x=1}^n\sum_{y=1}^m\lfloor\frac{n}{x}\rfloor\lfloor\frac{m}{y}\rfloor[GCD(x, y)==1]\]
令\[f(d)=\sum_{x=1}^n\sum_{y=1}^m\lfloor\frac{n}{x}\rfloor\lfloor\frac{m}{y}\rfloor[GCD(x, y)==d]\]
\[g(d)=\sum_{d|n}f(d)\]
\[=\sum_{x=1}^n\sum_{y=1}^m\lfloor\frac{n}{x}\rfloor\lfloor\frac{m}{y}\rfloor[d|GCD(x, y)]\]
\[=\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=1}^{\lfloor\frac{m}{d}\rfloor}\lfloor\frac{n}{xd}\rfloor\lfloor\frac{m}{yd}\rfloor\]
\[=(\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\lfloor\frac{n}{xd}\rfloor)(\sum_{y=1}^{\lfloor\frac{m}{d}\rfloor}\lfloor\frac{m}{yd}\rfloor)\]
\[f(d)=\sum_{d|n}\mu(\frac{n}{d})g(n)\]
则\(ans=f(1)=\sum_{d=1}^n\mu(d)g(d)\)
令\(sum(n)=\sum_{i=1}^n\lfloor\frac{n}{i}\rfloor\)
则\(ans=\sum_{d=1}^n\mu(d)*sum(\lfloor\frac{n}{d}\rfloor)*sum(\lfloor\frac{m}{d}\rfloor)\)
不开\(O_2\)会\(T\)掉两个点

void init(){miu[1]=1;for(int i=2; i < Maxn; i++){if(!p[i]) p[++ptot]=i, miu[i]=-1;for(int j=1, x; j <= ptot && (x=i*p[j]) < Maxn; j++){p[x]=1; if(i%p[j] == 0) break; miu[x]=-miu[i];}}for(int i=1; i < Maxn; i++) for(int l=1, r=0; r < i; l=r+1) r=i/(i/l), sum[i]+=1ll*(r-l+1)*(i/l);for(int i=1; i < Maxn; i++) miu[i]+=miu[i-1];
}
void solve(){int T=read(); init();while(T--){ll n=read(), m=read(), ans=0; if(n > m) swap(n, m);for(int l=1, r=0; r < n; l=r+1){r=min(n/(n/l), m/(m/l));ans+=(miu[r]-miu[l-1])*sum[n/l]*sum[m/l];}printf("%lld\n", ans);}
}

转载于:https://www.cnblogs.com/zerolt/p/9296358.html

[SDOI2015]约数个数和【莫比乌斯反演】相关推荐

  1. 【BZOJ3994】[SDOI2015]约数个数和 莫比乌斯反演

    [BZOJ3994][SDOI2015]约数个数和 Description 设d(x)为x的约数个数,给定N.M,求   Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数 ...

  2. 【bzoj3994】[SDOI2015]约数个数和 莫比乌斯反演

    题目描述 设d(x)为x的约数个数,给定N.M,求   输入 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. 输出 T行,每行一个整数,表示你 ...

  3. BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]

    2015 题意:\(d(i)\)为i的约数个数,求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m d(ij)\) \(ij\)都爆int了.... 一开始想容斥一下 ...

  4. BZOJ 3994 [SDOI2015]约数个数和 (莫比乌斯反演)

    题目大意:略 洛谷传送门 首先要知道这样一个公式不知道这个公式这道题还怎么做... $d(ij)=\sum\limits_{x=1}^{i} \sum\limits_{y=1}^{j}[gcd(x,y ...

  5. P3327 [SDOI2015]约数个数和 (mobius反演)

    P3327 [SDOI2015]约数个数和 推导过程 求∑i=1n∑j=1md(ij)\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} d(ij)∑i=1n​∑j=1m​d(ij ...

  6. [bzoj3994] [SDOI2015]约数个数和

    Description 设d(x)为x的约数个数,给定N.M,求 \(\sum_{i=1}^N\sum_{j=1}^Md(ij)\) Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测 ...

  7. luogu P3327 [SDOI2015]约数个数和(rng58-clj等式)

    luogu P3327 [SDOI2015]约数个数和(rng58-clj等式) 题目大意 设d(x)d(x)d(x)为x的因子的个数,给出N和M求 ∑i=1n∑j=1md(i,j)\sum_{i=1 ...

  8. 洛谷 [SDOI2015]约数个数和 解题报告

    [SDOI2015]约数个数和 题目描述 设\(d(x)\)为\(x\)的约数个数,给定\(N,M\),求$ \sum\limits^N_{i=1}\sum\limits^M_{j=1}d(ij)$ ...

  9. [BZOJ3994][SDOI2015]约数个数和

    3994: [SDOI2015]约数个数和 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1104  Solved: 762 [Submit][St ...

最新文章

  1. Exchange-OWA与域控集成-实现单点登录
  2. linux下安装配置使用memcache,memcached,libevent(后有ubuntu的memcache安装)
  3. javaweb乱码以及ajax乱码
  4. 教你在微信头像上加皇冠,很漂亮!
  5. PKU 3667 HDOJ 3667 Hotel ACM 3667 IN HDU
  6. SharePoint 2013 Ajax 造成页面无法编辑
  7. 计算机控屏教程,电脑怎么控制手机操作
  8. MySQL定时任务,清理表数据
  9. 关注点分离(Separation of concerns, SoC)
  10. 凡诺CMS 未授权访问+文件包含Getshell
  11. s饥荒服务器物品id,饥荒最新版代码总汇——食物篇
  12. 华为智慧屏鸿蒙20,华为智慧屏SE系列首销 搭载鸿蒙分布式跨屏技术
  13. 一个小透明作者到出版书籍,我的心路历程分享给各位作者
  14. 大数据—— Clickhouse 介绍与引擎的使用
  15. 编写一个IDEA插件之:事件监听
  16. Quant Practise
  17. 教你分清楚SPI、I2C、UART、I2S、GPIO、SDIO、CAN!
  18. FFmpeg Visual Studio开发(四):音频解码
  19. 淘宝自动发货助手插旗API接口,实现订单插旗颜色标注,自动发货接口
  20. python图片压缩pako_前端pako.js的 解压, json 转excel文件 下载

热门文章

  1. 详解MYSQL数据库密码的加密方式及破解方法
  2. VM虚拟机中的centos6.3命令行模式添加GCC
  3. SQL中的Where,Group By,Order By和Having的用法/区别
  4. 易经——第二卦 坤 坤为地 坤上坤下
  5. Linux下eclipse及mysql安装,c++访问mysql数据库
  6. 20145129 《Java程序设计》第6周学习总结
  7. IOS--常用类--NSArray
  8. 深拷贝与浅拷贝~动态内存释放有关
  9. 多线程编程之线程绑定处理器核
  10. 网管常犯的十个错误-转载