容斥原理
来源:互联网 发布:学生赚钱软件 编辑:程序博客网 时间:2024/05/22 17:48
给你n,m,求所有二元组(i,j)的gcd的和(1<=i<=n,1<=j<=m)
例题:https://vjudge.net/contest/198890#problem/D
代码:
#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <set>#include <map>#include <stack>#include <vector>#include <queue>#define ri(n) scanf("%d",&n)#define oi(n) printf("%d\n",n)#define rl(n) scanf("%lld",&n)#define ol(n) printf("%lld\n",n)#define rep(i,l,r) for(i=l;i<=r;i++)#define rep1(i,l,r) for(i=l;i<r;i++)using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int epg=10-8;ll dis[100000+10];int main(){ ll n,m; while(scanf("%lld%lld",&n,&m)==2) { ll sum=0; memset(dis,0,sizeof(dis)); if(n<m) { swap(n,m); } for(int i=n;i>=1;i--) { dis[i]=(n/i)*(m/i); for(int j=i+i;j<=n;j+=i) { //dis[j]=(n/j)*(m/j); dis[i]-=dis[j]; } sum+=i*dis[i]; } //for(int i=1;i<=n;i++) //sum+=dis[i]; printf("%lld\n",2*sum-n*m); } return 0;}
阅读全文
0 0
- 容斥原理
- 容斥原理 POJ3904
- 【容斥原理】八
- 【八】容斥原理
- 广义容斥原理
- 容斥原理
- 容斥原理 专题
- 容斥原理 专题
- hdu4390 容斥原理
- hdu1695 容斥原理
- HDU3929(容斥原理)
- 整除 容斥原理
- HDU4390(容斥原理)
- 容斥原理
- poj3904 容斥原理
- 容斥原理应用
- bzoj2393 容斥原理
- hdu4135 容斥原理
- 关于ListView或控件选择循环切换的实现方法
- 变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。
- 13.Spark SQL:UDF自定义函数实战
- JQuery-代码基础(1)
- 我回来啦
- 容斥原理
- 文件获取
- 码云的使用方法
- python爬取txt电子书
- 变量在jq隐式迭代中的特性
- bootstrap随笔
- vue.js安装小记
- YOLOv2训练自己的数据来实现人脸检测详细步骤
- 网络流最大流之Ford-Fulkerson算法