求\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}d(ij)\)

不知道怎么讲.....

首先考虑\(d(ij)\)究竟是什么

首先,很自然地想到,既然是求\(ij\)的约数个数

因此就枚举\(i,j\)的约数

即\(d(ij) =\sum\limits_{x|i}\sum\limits_{y|j}...\)

注意到,我们不能重复地统计

我们从唯一分解得形式来考虑

因为多个质因子个和一个质因子的情况是一致的

因此我们考虑一个质因子

假设\(i = p^a, j = p^b\)且\(a\leq b\)

那么对于\(ij = p^{a+b}\),它的约数中质因子的取值范围为\([0,\;\;a+b]\)

如果我们能制定一种规则使得每个质因子取值只与一种\(i,j\)的质因子方案对应就好了

记当前枚举的\(ij\)约数为\(d\),且\(d = p^c = p^{a'+b'}\),其中\(a'\)来源于\(i\),\(b'\)来源于\(j\)

注意到,对于\([0,\;\;b]\),我们都可以只让\(a' = 0, b' = [0,b]\)来达到

而\([b+1,\;\;a+b]\),我们可以只让\(a'=[1,a], b' = b\)来达到

而\(b'=b\)相当于\(b'=0\)(枚举因子的特殊性)

也就是说\(a'=0\)或\(b'=0\)时对应一种情况

也就是只要判断\([gcd(i, j)=1]\)即可

因此\(d(ij) = \sum\limits_{x|i}\sum\limits_{y|j} [gcd(x, y)=1]\)

那么,简单地化下式子,答案就能出现

$\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m} d(ij) = \sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m} \sum\limits_{x|i} \sum\limits_{y|j} [gcd(x, y)=1] $

\(=\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m} \sum\limits_{x|i} \sum\limits_{y|j} \sum\limits_{d|x \;and \;d|y} \mu(d)\)

注意到,我们如果先枚举\(d\),相当于枚举它的倍数\(i, j\),再枚举\(i, j\)内有多少数含\(d\)因子

\(=\sum\limits_{d=1}^{min(n,m)} \mu(d)\sum\limits_{d|i}^{n} \sum\limits_{d|j}^{m} [n/ d][m/d]\)

预处理\(\mu\)以及某个神奇的函数就可以回答了

[SDOI2015]约数个数和 --- 简单反演的更多相关文章

  1. P3327 [SDOI2015]约数个数和 莫比乌斯反演

    P3327 [SDOI2015]约数个数和 莫比乌斯反演 链接 luogu 思路 第一个式子我也不会,luogu有个证明,自己感悟吧. \[d(ij)=\sum\limits_{x|i}\sum\li ...

  2. 【BZOJ3994】[SDOI2015]约数个数和 莫比乌斯反演

    [BZOJ3994][SDOI2015]约数个数和 Description  设d(x)为x的约数个数,给定N.M,求   Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组 ...

  3. [BZOI 3994] [SDOI2015]约数个数和(莫比乌斯反演+数论分块)

    [BZOI 3994] [SDOI2015]约数个数和 题面 设d(x)为x的约数个数,给定N.M,求\(\sum _{i=1}^n \sum_{i=1}^m d(i \times j)\) T组询问 ...

  4. BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]

    2015 题意:\(d(i)\)为i的约数个数,求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m d(ij)\) \(ij\)都爆int了.... 一开始想容斥一下 ...

  5. 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)

    题目描述 设d(x)为x的约数个数,给定N.M,求 \sum^N_{i=1}\sum^M_{j=1}d(ij)∑i=1N​∑j=1M​d(ij) 输入输出格式 输入格式: 输入文件包含多组测试数据.第 ...

  6. BZOJ3994: [SDOI2015]约数个数和(莫比乌斯反演)

    Description  设d(x)为x的约数个数,给定N.M,求     Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. Out ...

  7. luogu P3327 [SDOI2015]约数个数和 莫比乌斯反演

    题面 我的做法基于以下两个公式: \[[n=1]=\sum_{d|n}\mu(d)\] \[\sigma_0(i*j)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]\] 其中\(\ ...

  8. [SDOI2015]约数个数和 莫比乌斯反演

    ---题面--- 题解: 为什么SDOI这么喜欢莫比乌斯反演,,, 首先有一个结论$$d(ij) = \sum_{x|i}\sum_{y|j}[gcd(x, y) == 1]$$为什么呢?首先,可以看 ...

  9. BZOJ 3994: [SDOI2015]约数个数和3994: [SDOI2015]约数个数和 莫比乌斯反演

    https://www.lydsy.com/JudgeOnline/problem.php?id=3994 https://blog.csdn.net/qq_36808030/article/deta ...

随机推荐

  1. opencv 高级拼接函数Stitcher

    Stitcher https://docs.opencv.org/trunk/d8/d19/tutorial_stitcher.html http://blog.csdn.net/czl389/art ...

  2. 51nod 1217 Minimum Modular

    N个不同的数a[1],a[2]...a[n],你可以从中去掉K个数,并且找到一个正整数M,使得剩下的N - K个数,Mod M的结果各不相同,求M的最小值. Input 第1行:2个数N, K,中间用 ...

  3. Vue 子路由 与 单页面多路由 的区别

    本文地址:http://www.cnblogs.com/veinyin/p/7911292.html 最近学完了基础课程,打算整理一波笔记,对基本概念梳理一遍,惊觉对子路由和单页面多路由混淆的一塌糊涂 ...

  4. python初步学习-python模块之 logging

    logging 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在python中,我们不需要第三方的日志组件,python为我们提供了简单易用.且 ...

  5. linux下生成core dump文件方法及设置【转】

    转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/196 ...

  6. ZebraDatepicker中文显示

    解决方法:①<script type="text/javascript" src="xx.js" charset="UTF-8"> ...

  7. 安装Https证书

    安装证书 IIS 6 支持PFX格式证书,下载包中包含PFX格式证书和密码文件.以沃通证书为例: 文件说明: 1. 证书文件214083006430955.pem,包含两段内容,请不要删除任何一段内容 ...

  8. caffe Python API 之Solver定义

    from caffe.proto import caffe_pb2 s = caffe_pb2.SolverParameter() path='/home/xxx/data/' solver_file ...

  9. Ubuntu或者Ubuntu server重新设置IP地址

    1.打开终端输入: sudo vi /etc/network/interfaces 2.进入编辑页面 改一处,添加5行内容,如下图: 3.修改好后esc    :wq进行保存 4.输入: sudo / ...

  10. Python学习笔记——迭代器和生成器

    1.手动遍历迭代器 使用next函数,并捕获StopIteration异常. def manual_iter(): with open('./test.py') as f: try: while Tr ...