分析:http://www.cnblogs.com/huhuuu/archive/2011/11/25/2263803.html

注:从这个题收获了两点

1,第一象限(x,y)到(0,0)的线段上整点的个数是gcd(x,y)

2,新学了一发求gcd(x,y)=k有多少对的姿势,已知0<x<=n,0<y<=m

令x=min(n,m),令f[i]代表gcd(x,y)=i的对数,

那么通过O(xlogx)的复杂度就可以得到f[1]到f[n](反着循环)

普通的容斥(即莫比乌斯反演)其实也是O(xlogx)的,只是需要筛一遍莫比乌斯函数

总结:对于求单个的gcd(x,y)=k的对数,可以用莫比乌斯反演来做,这样的复杂度是O(n/k)的

对于求gcd(x,y)=(1,..n)的对数,每个分别求解时,直接用这样的O(nlogn)的筛法就好,省代码,还好写

#include<cstdio>
#include<cstring>
#include<queue>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
typedef long long LL;
const int N=1e5+;
const int INF=0x3f3f3f3f;
LL f[N];
int main(){
LL n,m,ans=;
scanf("%lld%lld",&n,&m);
if(n>m)swap(n,m);
for(int i=n;i>=;--i){
f[i]=n/i*(m/i);
for(int j=i+i;j<=n;j+=i)
f[i]-=f[j];
ans+=f[i]*(*i-);
}
printf("%lld\n",ans);
return ;
}

BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛的更多相关文章

  1. BZOJ2005:[NOI2010]能量采集(莫比乌斯反演,欧拉函数)

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...

  2. luogu1447 [NOI2010]能量采集 莫比乌斯反演

    link 冬令营考炸了,我这个菜鸡只好颓废数学题了 NOI2010能量采集 由题意可以写出式子: \(\sum_{i=1}^n\sum_{j=1}^m(2\gcd(i,j)-1)\) \(=2\sum ...

  3. BZOJ 2005: [Noi2010]能量采集 [莫比乌斯反演]

    题意:\((0,0)\)到\((x,y),\ x \le n, y \le m\)连线上的整点数\(*2-1\)的和 \((0,0)\)到\((a,b)\)的整点数就是\(gcd(a,b)\) 因为. ...

  4. BZOJ2005 NOI2010 能量采集 【莫比乌斯反演】

    BZOJ2005 NOI2010 能量采集 Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些 ...

  5. bzoj2005: [Noi2010]能量采集

    lsj师兄的题解 一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) *  2 - 1. 设g(i)为 gcd(x, y) = i ( 1 < ...

  6. [BZOJ2005][Noi2010]能量采集 容斥+数论

    2005: [Noi2010]能量采集 Time Limit: 10 Sec  Memory Limit: 552 MBSubmit: 4394  Solved: 2624[Submit][Statu ...

  7. 【莫比乌斯反演】BZOJ2005 [NOI2010]能量采集

    Description 求sigma gcd(x,y)*2-1,1<=x<=n, 1<=y<=m.n, m<=1e5. Solution f(n)为gcd正好是n的(x, ...

  8. BZOJ2005: [Noi2010]能量采集(容斥原理 莫比乌斯反演)

    Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 4727  Solved: 2877[Submit][Status][Discuss] Descript ...

  9. [bzoj2005][Noi2010][能量采集] (容斥 or 欧拉函数)

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种 ...

随机推荐

  1. 浅谈mysql中不同事务隔离级别下数据的显示效果

    事务的概念 事 务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查 询语句因为崩溃或其他原因而无法执行,那 ...

  2. 【搭建开发环境】Linux 中安装 Eclipse 进行 C/C++ 开发

    引言 Linux 中选用 C/C++ 的 IDE,推荐 Eclipse. 涉及工具:JDK,Eclipse. 欢迎来到 lovickie 的博客 http://www.cnblogs.com/lovi ...

  3. xml simpleXML_load_file(), simpleXML_load_string()

    xml.xml文件 <?xml version='1.0'?><man>    <att>        <name>lin3615</name& ...

  4. 对Android中dp单位的理解

    dp 设备独立像素 ,也叫dip, device independent pixle. 比如同样在1英寸大小的屏幕上,高密度的屏幕可显示100个像素点,而低密度的屏幕只能70个点. 用了dp之后,只要 ...

  5. Aspose.Cells.dll引用导入导出Excel

    Aspose.Cells 导入导出EXCEL 文章出处:http://hi.baidu.com/leilongbing/item/c11467e1819e5417595dd8c1 修改样式       ...

  6. php查询ip地址来源归属地的脚本

    <?php header('Content-Type:text/html;charset=utf-8'); if($_GET['sub']){ $ip = $_GET['ip']; $msg = ...

  7. HBase性能优化方法总结(转)

    本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客. 1. 表的设计 1.1 Pr ...

  8. 【gitlab】版本管理工具

  9. 数据库获取前N条记录SQL Server与SQLite的区别

    在使用sql语句进行前20条记录查询时SQL Server可以这样写: 1: select top 20 * from [table] order by ids desc 2: select top ...

  10. 对敏捷开发的误解(转自MBAlib)

    对敏捷开发的误解 误解一:敏捷对人的要求很高 很多人在尝试实施敏捷时说:敏捷对人的要求太高了,我们没有这样的条件,我们没有这样的人,因此我们没法敏捷.可是,敏捷对人的要求真的那么高么? 软件归根到底还 ...