"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. MyBatis笔记----Mybatis3.4.2与spring4整合:增删查改

    结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij3 ...

  2. sql server 通用修改表数据存储过程

    ALTER PROC [dbo].[UpdateTableData] ), ), ), ), ) AS BEGIN ) SET @sql ='UPDATE '+@TableName; --获取SqlS ...

  3. mysql性能排查思路

      mysql性能瓶颈排查 top/free/vmstat/sar/mpstat 查看mysqld进程的cpu消耗占比 确认mysql进程的cpu消耗是%user, 还是sys%高 确认是否是物理内存 ...

  4. 转:EditPuls 5.0 注册码

    EditPlus5.0注册码 注册名 Vovan 注册码 3AG46-JJ48E-CEACC-8E6EW-ECUAW EditPlus3.x注册码 EditPlus注册码生成器链接 http://ww ...

  5. sql server连接oracle并实现增删改查

    需要一个软件ODAC112040Xcopy_64bit 我连接的oracle是11g r2  sqlserver 是 2016 软件下载 https://pan.baidu.com/s/1OpYmpR ...

  6. C# -- HttpWebRequest 和 HttpWebResponse 的使用

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebRequest 和 HttpWebResponse,来判断一个网页地址是否可以正常访问. 1 ...

  7. 《Java大学教程》—第16章 二维数组

    多维(Multi-dimensional)数组维数由索引个数决定.常用的数组:一维(one-dimensional)数组.二维(two-dimensional)数组 16.2    创建二维数组索引从 ...

  8. Python的datetime模块分析

    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...

  9. 洛谷P1031

    #include <iostream>#include <algorithm>#include <cstdio>using namespace std;int a[ ...

  10. re库

    一.Re库的主要功能: 函数 功能 re.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象 re.match() 在一个字符串的开始位置匹配正则表达式,返回match ...