考虑暴力,答案显然是 \(\sum_{i=1}^n\sum_{j=1}^m(2(\gcd(i,j)-1)+1)=\sum_{i=1}^n\sum_{j=1}^m(2\gcd(i,j)-1)\)。

考虑优化,设 \(f(i)\) 是 \(\gcd(x,y) = i\) 的点的个数,则 \(\sum_{i=1}^{\min(n,m)}f(i)(2i-1)\) 即为答案。

考虑优化 \(f(i)\) 的计算,我们可以先算出 \(i\) 作为公约数的个数 \(\left \lfloor \frac{n}{i} \right \rfloor \left \lfloor \frac{m}{i} \right \rfloor\),然后减去许多个 \(f(j)\) ,其中 \(i < j \leq \min(n,m)\) 并且 \(i|j\)。

#include <iostream>
using namespace std;
typedef long long ll;
int n, m;
ll f[100005], ans;
int main(){
cin>>n>>m;
if(n>m) swap(n, m);
for(int i=n; i; i--){
f[i] = (ll)(n/i) * (ll)(m/i);
for(int j=i+i; j<=n; j+=i)
f[i] -= f[j];
ans += f[i] * (2 * i - 1);
}
cout<<ans<<endl;
return 0;
}

最新文章

  1. 图的基本遍历算法的实现(BFS &amp; DFS)复习
  2. 在web中使用windows控件,实现摄像头功能
  3. 0.AutoMapper核心
  4. GitHub上一个不错的开源C#源码(控制台界面开发)
  5. Hadoop Eclipse开发环境搭建
  6. 茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复]
  7. java equals 心得体会
  8. stretchlim函数分析
  9. 房间计费系统改造E-R图纸设计
  10. MyDAL - .UpdateAsync() 之 .SetSegment 根据条件 动态设置 要更新的字段 使用
  11. vertx的NetServer模块
  12. Android studio报Error:(26, 13)-v7:27.错误的解决方法
  13. select、poll、epoll
  14. U盘内容被病毒隐藏的解决办法(亲测可用)
  15. java 封装及this 用法
  16. 遗传算法MATLAB工具包简介
  17. hashCode方法的作用?
  18. putty失活不挂起运行
  19. [Tensorflow] Object Detection API - predict through your exclusive model
  20. 上传svn失败,代码冲突解决方式

热门文章

  1. DP+埃氏筛法 Codeforces Round #304 (Div. 2) D. Soldier and Number Game
  2. 用eclipse-inst-win64.exe安装eclipse出现Java for Windows Missing 的原因
  3. Spring Boot整合Spring Batch
  4. htm 中 &lt;b&gt;和&lt;strong&gt;的区别
  5. ios-获取系统相簿里边的所有照片
  6. PL/SQL学习笔记(三)
  7. SAP CRM和Cloud for Customer中的Event handler(事件处理器)
  8. pycharm激活码 pycharm安装后激活方式 pycharm汉化包安装
  9. Python3简明教程(十二)—— 模块
  10. 使用snapshot继续训练网络