思路:

题目让求的是 Σgcd(i,j) (i<=n,j<=m) n,m不同 没法线性筛

怎么办?

容斥原理!!

f[x]表示gcd(i,j)=x的个数

g[x]为 存在公约数=x 的数对(i,j)的个数

g(x)=(n/x)*(m/x)

那么f[x]就是 g(x)-f(2*x)-f(3*x)-…… -f(i*x) (i*x<=min(n,m))

从后往前算 (这个显然吧 要不怎么减)

Σf(x)*2 -n*m就是答案啦~~

复杂度的话嘛

O(n)+O(n/2)+O(n/3)…..+O(n/i)=O(nlogn)

//By SiriusRen
#include <cstdio>
using namespace std;
#define int long long
int f[100050],ans;
signed main(){
int n,m,mx;
scanf("%lld%lld",&n,&m),mx=n<m?n:m;
for(int i=mx;i;i--){
f[i]=(n/i)*(m/i);
for(int j=2;i*j<=mx;j++)
f[i]-=f[i*j];
ans+=f[i]*2*i;
}
printf("%lld\n",ans-(long long)n*m);
}

BZOJ 2005 容斥原理的更多相关文章

  1. bzoj 2005 & 洛谷 P1447 [ Noi 2010 ] 能量采集 —— 容斥 / 莫比乌斯反演

    题目:bzoj 2005 https://www.lydsy.com/JudgeOnline/problem.php?id=2005   洛谷 P1447 https://www.luogu.org/ ...

  2. BZOJ 2045 容斥原理

    思路: 同BZOJ 2005 http://blog.csdn.net/qq_31785871/article/details/54314774 //By SiriusRen #include < ...

  3. [bzoj 2005][NOI 2010]能量采集(容斥原理+递推)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2005 分析:首先易得ans=∑gcd(x,y)*2+1 然后我就布吉岛了…… 上网搜了下题解, ...

  4. 【BZOJ 2005】【NOI 2010】能量采集 数论+容斥原理

    这题设$f(i)$为$gcd(i,j)=x$的个数,根据容斥原理,我们只需减掉$f(i×2),f(i×3)\cdots$即可 那么这道题:$$ans=\sum_{i=1}^n(f(i)×((i-1)× ...

  5. BZOJ 2005 能量采集(容斥原理)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2005 题意:给定n和m,求 思路:本题主要是解决对于给定的t,有多少对(i,j)满足x= ...

  6. BZOJ 2005: [Noi2010]能量采集( 数论 + 容斥原理 )

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

  7. BZOJ 2005 2005: [Noi2010]能量采集 | 容斥原理

    题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2005 题解: http://blog.csdn.net/popoqqq/article/de ...

  8. BZOJ 2005 NOI2010 能量採集 数论+容斥原理

    题目大意:给定n和m.求Σ(1<=i<=n)Σ(1<=j<=m)GCD(i,j)*2-1 i和j的限制不同,传统的线性筛法失效了.这里我们考虑容斥原理 令f[x]为GCD(i, ...

  9. 【BZOJ 2005】[Noi2010]能量采集 (容斥原理| 欧拉筛+ 分块)

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

随机推荐

  1. oracle 11g rac 修改VIP、scan VIP、priv IP

    11GR2 RAC modify vip,public ip,private ip,scan vip实施步骤1 修改目的    根据业务的需求,需要由原来的临时IP改为生产ip,以下为调整前后对应的I ...

  2. Load和CPU利用率是如何算出来的

    相信很多人都对Linux中top命令里“load average”这一栏困惑过,到底什么是Load,Load代表了什么含义,Load高会有什么后果?“%CPU”这一栏为什么会超过100%,它是如何计算 ...

  3. Spark RDD概念学习系列之什么是Pair RDD

    不多说,直接上干货! 什么是Pair RDD (1)包含键值对类型的RDD被称作Pair RDD. (2)Pair RDD通常用来进行聚合计算. (3)Pair RDD通常由普通RDD做ETL转换而来 ...

  4. JEE Spring-boot 简单的ioc写法。

    什么是ioc,就是你可能会有一些生活必需品,这些东西你必须要用才能存活.但是你不是每天都回去买,去哪一家点去买.而这些用品会一直放在哪里,每一个商店就是一个容器,包裹着这些物品. 创建ioc项目,首先 ...

  5. requests模块的高级用法

    SSL Cert Verification #证书验证(大部分网站都是https) import requests respone=requests.get('https://www.12306.cn ...

  6. vue 移动端项目,动态控制div距离底部的距离

    <template> <div class="details"> <com-nav-bar title="保险详情"> &l ...

  7. mac上virtualbox创建vm需要注意启动顺序

    创建好vm后,需要注意,按照下图,将vm的启动顺序设置成 硬盘,不然,你会一直处于安装的逻辑中

  8. CefSharp的简单应用,制作自动学习视频软件(基于Chromium)

    CefSharp在NuGet的简介是“The CefSharp Chromium-based browser component”,机翻的意思就是“基于Cefsharp Chromium的浏览器组件” ...

  9. POJ 1743 [USACO5.1] Musical Theme (后缀数组+二分)

    洛谷P2743传送门 题目大意:给你一个序列,求其中最长的一对相似等长子串 一对合法的相似子串被定义为: 1.任意一个子串长度都大于等于5 2.不能有重叠部分 3.其中一个子串可以在全部+/-某个值后 ...

  10. [luogu3195 HNOI2008] 玩具装箱TOY (斜率优化dp)

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...