这题设$f(i)$为$gcd(i,j)=x$的个数,根据容斥原理,我们只需减掉$f(i×2),f(i×3)\cdots$即可

那么这道题:$$ans=\sum_{i=1}^n(f(i)×((i-1)×2+1))$$

注意要开$longlong$,否则会炸

#include<cstdio>
#include<algorithm>
using namespace std;
long long f[100003];
int main(){
int n,m;
long long k=0;
scanf("%d %d\n",&n,&m);
if (n>m)
swap(n,m);
for(int i=n;i>=1;--i){
f[i]=(long long)(n/i)*(m/i);
for(int j=i+i;j<=n;j+=i)
f[i]-=f[j];
k+=f[i]*i*2-f[i];
}
printf("%lld\n",k);
return 0;
}

这样就行啦

zky学长讲的$O(n+\sqrt{n})$的快速筛积性函数的方法:

\[ \begin{aligned} ans & = \sum_{i=1}^n \sum_{j=1}^m gcd(i,j) \\ & = \sum_{i=1}^n \sum_{j=1}^m \sum_{k=1}^n k[k|i][k|j][gcd(\frac{i}{k},\frac{j}{k})=1] \\ & = \sum_{k=1}^n k \sum_{i=1}^n \sum_{j=1}^m [k|i][k|j][gcd(\frac{i}{k},\frac{j}{k})=1] \\ & i=ki, j=kj \\ & = \sum_{k=1}^n k \sum_{i=1}^{\left \lfloor \frac{n}{k} \right \rfloor} \sum_{j=1}^{\left \lfloor \frac{m}{k} \right \rfloor} [ gcd(i,j)=1] \\ & = \sum_{k=1}^n k \sum_{i=1}^{\left \lfloor \frac{n}{k} \right \rfloor} \sum_{j=1}^{\left \lfloor \frac{m}{k} \right \rfloor} \sum_{d=1}^{\left \lfloor \frac{n}{k} \right \rfloor} [d|i][d|j] \mu(d) \\ & = \sum_{k=1}^n k \sum_{d=1}^{\left \lfloor \frac{n}{k} \right \rfloor} \mu(d) \sum_{i=1}^{\left \lfloor \frac{n}{k} \right \rfloor} \sum_{j=1}^{\left \lfloor \frac{m}{k} \right \rfloor} [d|i][d|j] \\ & =  \sum_{k=1}^n k \sum_{d=1}^{\left \lfloor \frac{n}{k} \right \rfloor} \mu(d) \left \lfloor \frac{n}{dk} \right \rfloor \left \lfloor \frac{m}{dk} \right \rfloor \\ & T=dk \\ & = \sum_{T=1}^n \left \lfloor \frac{n}{T} \right \rfloor \left \lfloor \frac{m}{T} \right \rfloor \sum_{d|T} \mu(d) \frac{T}{d} \\ \end{aligned}\]

xyx说因为$\sum_{d|T} \mu(d) \frac{T}{d}$(及$id×\mu$)是积性的,所以筛一筛就出来啦

无限仰膜O)Z   OSZ   OTZ

这个方法我就先不写了,因为我太蒟蒻有可能推错了,如果哪位神犇发现错误请指出来,万分感谢!!!

2016-03-30:达神的正解!上面那个看一眼就觉得纯属扯淡(没事莫比乌斯反演干什么):$(n<m)$

\[ \begin{aligned} ans & = \sum_{i=1}^n \sum_{j=1}^m gcd(i,j) \\ & = \sum_{i=1}^n \sum_{j=1}^m \sum_{d=1}^n [d|i][d|j]  \phi(d) \\ & = \sum_{d=1}^n \sum_{i=1}^n \sum_{j=1}^m [d|i][d|j] \phi(d) \\ & = \sum_{d=1}^n \left \lfloor \frac{n}{d} \right \rfloor \left \lfloor \frac{m}{d} \right \rfloor \phi(d) \end{aligned} \]

【BZOJ 2005】【NOI 2010】能量采集 数论+容斥原理的更多相关文章

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

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

  2. ●BZOJ 2005 NOI 2010 能量采集

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2005 题解: 一个带有容斥思想的递推.%%% 首先,对于一个点 (x,y) 在路径 (0,0 ...

  3. bzoj 2005 NOI 2010 能量采集

    我们发现对于一个点(x,y),与(0,0)连线上的点数是gcd(x,y)-1 那么这个点的答案就是2*gcd(x,y)-1,那么最后的答案就是所有点 的gcd值*2-n*m,那么问题转化成了求每个点的 ...

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

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

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

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

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

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

  7. 【BZOJ 2005】[Noi2010]能量采集

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

  8. [NOI 2010]能量采集

    Description 题库链接 给你一个 \(n\times m\) 的坐标轴.对于坐标轴的每一个正整数整点 \((x,y)\) 其对答案产生的贡献为 \(2k+1\) ,其中 \(k\) 表示这个 ...

  9. [BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆)

    [BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆) 题面 给出一个长度为n的序列,选k段长度在L到R之间的区间,一个区间的值等于区间内所有元素之的和,使得k个区间的值之和最大.区 ...

随机推荐

  1. 谈谈 Google 的 Test Certified

    转载请联系作者,谢谢! 本文简单介绍下Google的Test Certified. Test Certified(后文简称TC)是Google内部的一个认证项目,在8年的时间里取得了多个里程碑,有17 ...

  2. Codeforces 500B. New Year Permutation[连通性]

    B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  3. UDP模式聊天

    //client (前台) import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAd ...

  4. JVM再了解了解

    转自 http://www.cnblogs.com/Coda/p/4331432.html 相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任 ...

  5. 关于PHP上传文件和中文名乱码情况

    关于PHP文件上传 在前端HTML页面,表单如下 Upload.html <!doctype html><html lang="en"><head&g ...

  6. QuickFix/N简介

    QuickFix/N简介  FIX是Financial Information eXchange的简称.FIX是一种专门为实时电子证券交易设计的标准消息协议.该协议由FIX protocol, Ltd ...

  7. redis存在大量脏页问题的追查记录

    from:https://www.zybuluo.com/SailorXiao/note/136014 case现场 线上发现一台机器内存负载很重,top后发现一个redis进程占了大量的内存,TOP ...

  8. 条件注释判断浏览器版本<!--[if lt IE 9]>

    <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...

  9. DirectoryBrowserMiddleware中间件如何呈现目录结构

    DirectoryBrowserMiddleware中间件如何呈现目录结构 和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义 ...

  10. spring: 加载远程配置

    通常在spring应用中,配置中的properties文件,都是打包在war包里的,部署规模较小,只有几台服务器时,这样并没有什么大问题.如果服务器多了,特别是集群部署时,如果要修改某一项配置,得重新 ...