博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 2005 能量采集(容斥原理)
阅读量:7085 次
发布时间:2019-06-28

本文共 391 字,大约阅读时间需要 1 分钟。

题目链接:

题意:给定n和m,求

思路:本题主要是解决对于给定的t,有多少对(i,j)满足x=Gcd(i,j)。有多少对呢?我们先求出有多少对的约数为x,有(n/x)*(m/x)种!那么接着就是减去约数大于x的对数。设a[x]表示Gcd为x的对数,我们现在求出的约数为x的对数,那么显然a[x]=a[x]-a[2*x]-a[3*x]-a[4*x]。。注意这里求的时候要倒着枚举x。

int n,m;
i64 a[N];
int main()
{
    RD(n,m);
    int x=min(n,m),i,j;
    FOR1(i,x) a[i]=(i64)(n/i)*(m/i);
    for(i=x;i>=1;i--) for(j=2;j*i<=x;j++) a[i]-=a[j*i];
    i64 ans=0;
    FOR1(i,x) ans+=(2*(i-1)+1)*a[i];
    PR(ans);
}

你可能感兴趣的文章
微信Mars:客户端跨平台组件的开发经验
查看>>
滨湖区胡埭建智能交通缓解交通压力
查看>>
TensorFlow教程之API DOC 6.3.2. CLIENT
查看>>
运营商有望在云计算市场后发制胜
查看>>
《深度学习:Java语言实现》一一第2章 机器学习算法——为深度学习做准备
查看>>
联盟成为大数据生态建设重要模式
查看>>
坚持做创业护卫队的770天
查看>>
《ANSYS Workbench 14有限元分析自学手册》——导读
查看>>
jsp验证码
查看>>
OC之构造方法
查看>>
ubuntu下vsftpd虚拟用户配置
查看>>
详解UILabel的adjustsFontSizeToFitWidth值
查看>>
IOS 中block结构的简单用法
查看>>
AppleWatch开发入门二——界面布局
查看>>
iOS设计模式 - 抽象工厂
查看>>
ORACLE临时表总结
查看>>
6个你必须用到AJAX的地方与6个不必用到的地方
查看>>
UIKit 框架之UIButton
查看>>
OpenExpressApp 框架结构(2)
查看>>
[总结]无线测试
查看>>