莫比乌斯反演&整除分块学习笔记
整除分块
用于计算$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i$之类的函数
整除的话其实很多函数值是一样的,对于每一块一样的商集中处理即可
若一个商的左边界为l,则右边界为$\lfloor{\frac{n}{\lfloor\frac{n}{l}\rfloor}}\rfloor$
这样时间复杂度就是$O(\sqrt{n})$
如果是类似$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i \ opt \ f(\lfloor{m/i} \rfloor)$
就让r=$min(\lfloor{\frac{n}{\lfloor\frac{n}{l}\rfloor}}\rfloor,\lfloor{\frac{m}{\lfloor\frac{m}{l}\rfloor}}\rfloor)$
这样的话记得另$l<=min(n,m)$,否则会出现除以0的情况
莫比乌斯函数
如果n的因数中没有平方数,则$\mu n=(-1)^k$,k为n质因数的个数
否则$\mu n=0$
特别的,$\mu 1=1$
这样就可以得到一个性质:一个数所有因数的$\mu$之和等于0,除非这个数是1
证明:设m有n个质因数,则原式$=1-C_n^1+C_n^2-C_n^3...C_n^n$
结合二项式定理:原式$=(1-1)^n=0$,证毕
这个性质很常用,比如$[gcd(i,j)]=1$这类式子可以转化成$\sum_{d|gcd(i,j)} \mu(d)$
莫比乌斯反演
若$F(x)=\sum_{d|x} f(x)$
那么$f(x)=\sum_{d|x} F(d)*\mu(x/d)$
但一般而言用的更多的是莫比乌斯函数的性质
莫比乌斯反演&整除分块学习笔记的更多相关文章
- [P4450] 双亲数 - 莫比乌斯反演,整除分块
模板题-- \[\sum\limits_{i=1}^a\sum\limits_{j=1}^b[(i,j)=k] = \sum\limits_{i=1}^a\sum\limits_{j=1}^b[k|i ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- Bzoj1101: [POI2007]Zap 莫比乌斯反演+整除分块
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 莫比乌斯反演 1101: [POI2007]Zap 设 \(f(i)\) 表示 \(( ...
- 洛谷 P2257 - YY的GCD(莫比乌斯反演+整除分块)
题面传送门 题意: 求满足 \(1 \leq x \leq n\),\(1 \leq y \leq m\),\(\gcd(x,y)\) 为质数的数对 \((x,y)\) 的个数. \(T\) 组询问. ...
- [POI2007]ZAP-Queries (莫比乌斯反演+整除分块)
[POI2007]ZAP-Queries \(solution:\) 唉,数论实在有点烂了,昨天还会的,今天就不会了,周末刚证明的,今天全忘了,还不如早点写好题解. 这题首先我们可以列出来答案就是: ...
- 洛谷 - P2257 - YY的GCD - 莫比乌斯反演 - 整除分块
https://www.luogu.org/problemnew/show/P2257 求 \(n,m\) 中 \(gcd(i,j)==p\) 的数对的个数 求 $\sum\limits_p \sum ...
- [国家集训队] Crash的数字表格 - 莫比乌斯反演,整除分块
考虑到\(lcm(i,j)=\frac{ij}{gcd(i,j)}\) \(\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)}\) \(\sum_{d=1}^{n} ...
- 洛谷 P5518 - [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题(莫比乌斯反演+整除分块)
洛谷题面传送门 一道究极恶心的毒瘤六合一题,式子推了我满满两面 A4 纸-- 首先我们可以将式子拆成: \[ans=\prod\limits_{i=1}^A\prod\limits_{j=1}^B\p ...
- P2568 莫比乌斯反演+整除分块
#include<bits/stdc++.h> #define LL long long using namespace std; ; bool vis[maxn]; int prime[ ...
随机推荐
- NVIDIA Turing Architecture架构设计(上)
NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领 ...
- JUC 并发编程--12, 使用AtomicInteger 实现一把锁(排队自旋锁), 代码演示
前面 使用自旋锁实现了一把锁,(请看 第5篇) volatile 三大特性: 可见性, 不保证原子性, 禁止指令重排 为了解决 volatile不保证原子性的问题, 引入了原子类, AtomicInt ...
- 5, java数据结构和算法: 栈 , 入栈, 出栈, 正序遍历,,逆序遍历
直接上代码: class ArrayStack{ //用数组模拟栈 int maxSize; int[] stack; int top = -1;//表示栈顶 public ArrayStack(in ...
- 菜鸟刷题路(随缘刷题):leetcode88
lc88 class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m - 1, j = ...
- pytest skip的使用
skip跳过用例(无条件跳过,不运行用例) 使用方法: 1.使用跳过装饰器 class TestClass(): @pytest.mark.skip(reason='no way of current ...
- UG_PS Parasolid相关的操作
Open C UF_PS_ask_current_highest_tagUF_PS_ask_current_partitionUF_PS_ask_entity_partitionUF_PS_ask_j ...
- spring赌上未来的一击:WebFlux性能实测
最近花了一点时间系统的测试验证了在SpringBoot框架下使用SpringMVC和Spring WebFlux两种框架开发接口,对比了响应时间以及压测吞吐量的区别. WebFlux&Spri ...
- Linux命令大全之查看登陆用户信息
1,w +回车 2.who +回车 3.last+回车 4.lastlog+回车
- Linux操作系统(一)
计算机本身就是一堆硬件,这些硬件中最核心的就是CPU(运算器,控制器) 和存储器设备. 为了能够实现计算机获取数据,数据的输入输出等等需要输入设备和输出设备. 计算机体系内部:主要是通过桥接接入当前系 ...
- 快来为你的 .NET 应用加个监控吧!
导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC.CPU.内存.机器网络.磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafa ...