"haik, hen wir." -- somebody

概述

莫比乌斯反演通过一些恒等变形使需要高时间复杂度计算的式子变为可快速计算的。
一般来说,将形如\(\sum_{d|n}\)的式子提到前面,形如\(\sum_{i=1}^n\)的式子放到后面,这样后面就可以简化运算。

变换

扩展变换

\(\sum_{i=1}^nf(i)=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}f(id)\)

抽取变换

\((a,b)=\sum_{d=1}^n[(a,b)=d]d\)

重排变换/交叉变换

\(\lfloor\frac{n}{k}\rfloor=\sum_{i=1}^n[k|i]\)
\(\sum_{i=1}^n\lfloor\frac{n}{i}\rfloor f(i)=\sum_{i=1}^nf(i)\sum_{j=1}^n[i|j]=\sum_{j=1}^n\sum_{i|j}f(i)\)

山东变换

\(d(nm)=\sum_{i|n}\sum_{j|m}[(i,j)=1]\)

重庆变换/双希变换

\(\sum_{d=1}^n\sum_{t=1}^nf(dt)g(d)h(t)=\sum_{D=1}^nf(D)\sum_{d|D}g(d)h(\frac{D}{d})\)

注:该变换一般用于最后一步,然后考虑如何快速处理\(\sum_{d|D}g(d)h(\frac{D}{d})\),如线性筛等。

杜教筛变换

\(\sum_{i=1}^n\sum_{d|i}f(d)g(\frac{i}{d})=\sum_{i=1}^ng(i)\sum_{d=1}^{\lfloor\frac{n}{i}\rfloor}f(d)\)

常用结论

K-GCD

\(\sum_{i=1}^n\sum_{j=1}^m[(i,j)=k]=\sum_{i=1}^{\lfloor \frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor \frac{m}{k}\rfloor}[(i,j)=1] = \sum_{d=1}^{min({\lfloor \frac{n}{k}\rfloor},{\lfloor \frac{m}{k}\rfloor})}\mu(d)\lfloor \frac{n}{kd}\rfloor \lfloor\frac{m}{kd}\rfloor\)

复习时更新:注意\([d=(i,j)]\)与\([d|(i,j)]\)不同。

莫比乌斯反演III的更多相关文章

  1. [SDOI2015][bzoj 3994][Luogu P3327] 约数个数和 (莫比乌斯反演)

    题目描述 设d(x)d(x)d(x)为xxx的约数个数,给定NNN.MMM,求 ∑i=1N∑j=1Md(ij)\sum^{N}_{i=1}\sum^{M}_{j=1} d(ij)i=1∑N​j=1∑M ...

  2. hdu1695 GCD(莫比乌斯反演)

    题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...

  3. BZOJ 2154: Crash的数字表格 [莫比乌斯反演]

    2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 2924  Solved: 1091[Submit][Status][ ...

  4. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit] ...

  5. Bzoj2154 Crash的数字表格 乘法逆元+莫比乌斯反演(TLE)

    题意:求sigma{lcm(i,j)},1<=i<=n,1<=j<=m 不妨令n<=m 首先把lcm(i,j)转成i*j/gcd(i,j) 正解不会...总之最后化出来的 ...

  6. 莫比乌斯函数筛法 & 莫比乌斯反演

    模板: int p[MAXN],pcnt=0,mu[MAXN]; bool notp[MAXN]; void shai(int n){ mu[1]=1; for(int i=2;i<=n;++i ...

  7. 【BZOJ-2440】完全平方数 容斥原理 + 线性筛莫比乌斯反演函数 + 二分判定

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2371  Solved: 1143[Submit][Sta ...

  8. POI2007_zap 莫比乌斯反演

    题意:http://hzwer.com/4205.html 同hdu1695 #include <iostream> #include <cstring> #include & ...

  9. hdu.5212.Code(莫比乌斯反演 && 埃氏筛)

    Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

随机推荐

  1. spring4笔记----PropertyPlaceholderConfigurer 属性占位符配置器

    driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/spring username=root password= ...

  2. [20180819]关于父子游标问题(11g).txt

    [20180819]关于父子游标问题(11g).txt --//sql语句存在父子游标,子游标堆6在父游标堆0里面.--//如果存在许多子游标的情况下,父游标堆0是否大小是发生变化呢.测试看看.--/ ...

  3. SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询

    SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...

  4. 【Git 学习三】深入理解git reset 命令

    重置命令(git reset)是Git 最常用的命令之一,也是最危险最容易误用的命令.来看看git reset命令用法. --------------------------------------- ...

  5. oracle- 数据表分区

    1. 表分区概念 分区表是将大表的数据分成称为分区的许多小的子集.倘若硬盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作. 2. 表分区分类 (1)范围分区 create table tabl ...

  6. 回调函数的原理及PHP实例

    背景:在最近的一个开发项目中,用户要先调用服务才能开始进行一系列的查询活动,想了好久,经同事提醒, 用回调函数即可解决该问题.在这里,对PHP下回调函数的原理及实现分别做一下讲解. 1 什么是回调 软 ...

  7. vim 高亮

    vim 高亮显示所选单词在文中全部出现的地方: ’g' + 'd'

  8. 【Linux基础】VI命令模式下大小写转换

    [开始位置] ---- 可以指定开始的位置,默认是光标的当前位置 gu ---- 把选择范围全部小写 gU ---- 把选择范围全部大写 [结束位置] ---- 可以跟着类似的w,6G,gg等定位到错 ...

  9. python之模块与包

    一模块 二包 一模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...

  10. Nginx+Keepalived双机热备

    一.Keepalived Keepalived是保证集群高可用的服务软件.网络中优先级高的节点为master负责响应VIP的ARP包,将VIP和MAC地址映射关系告诉网络内其他主机,还会以多播的形式向 ...