传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2005

令F(i)表示i | gcd(x, y)的对数,f(i)表示gcd(x, y) = i的对数,那么显然

f(i) = F(i) - f(2 * i) - f(3 * i) - ...

F(i)很好求,显然,F(i) = (n / i) * (m / i),除法向下取整。

之后就简单了~

#include <cstdio>
#include <algorithm> const int maxn = 100005; int n, m, lmt;
long long f[maxn], ans; int main(void) {
scanf("%d%d", &n, &m);
lmt = std::min(n, m);
for (int i = lmt; i; --i) {
f[i] = (long long)(n / i) * (long long)(m / i);
for (int j = i << 1; j <= lmt; j += i) {
f[i] -= f[j];
}
ans += f[i] * ((i << 1) - 1);
}
printf("%lld\n", ans);
return 0;
}

  

最新文章

  1. dotnet core 出现Can not find runtime target for framework &#39;.NETCoreApp,Version=v1.6&#39; 的解决办法
  2. [z]START WITH CONNECT BY PRIOR子句实现递归查询
  3. 使用idea开发Springmvc
  4. 解决jsp中文乱码问题
  5. 用 Navicat 写mysql的游标
  6. python在不同层级目录import模块的方法
  7. delphi 18 屏蔽和替换 右键菜单
  8. 【转】GitHub平台最火Android开源项目整理&mdash;&mdash;2013-08-25 17
  9. spring Aop 注解
  10. 织梦DEDECMS {dede:field name=&#39;position&#39;/}标签增加其它属性的
  11. Implement Hash Map Using Primitive Types
  12. 06-OC分类、协议、ARC
  13. 快速构建Windows 8风格应用6-GridView数据控件
  14. [转]android4.0.3 修改启动动画和开机声音
  15. 201521123020 《Java程序设计》第7周学习总结
  16. TDD:什么是桩(stub)和模拟(mock)?
  17. cf666E. Forensic Examination(广义后缀自动机 线段树合并)
  18. C# Queue 和Stack的实现
  19. edraw的符号制作
  20. cocos2d-x C++ 原始工程引擎运行机制解析

热门文章

  1. Broadcom的消息机制
  2. sklearn特征工程总结
  3. Pacemaker 安装与使用
  4. 在EasyUI的DataGrid中嵌入Combobox
  5. Java 实现桥接(Bridge)模式
  6. linux nginx service nginx restart [fail]
  7. 亿部书城李柯毅:Testin云測可大幅提升产品质量 值得推荐!
  8. Apache Hadoop 和Hadoop生态圈
  9. Tomcat9无法启动
  10. GridView根据一列自动计算(转载)