莫比乌斯反演专题题解
「SDOI2015」约数个数和
这个题关键就在于知不知道这个 dij=∑x∣i∑y∣j(gcd(x,y)==1)d_{ij}=\sum_{x|i}\sum_{y|j}(gcd(x,y)==1)dij=∑x∣i∑y∣j(gcd(x,y)==1) 结论 以及 gcd==1gcd==1gcd==1 怎么用莫比乌斯函数表示的 然后推式子就很愉快了
ans=∑i=1n∑j=1mdij=∑i=1n∑j=1m∑x∣i∑y∣j(gcd(x,y)==1)=∑i=1n∑j=1m∑x∣i∑y∣j∑d∣gcd(x,y)ud=∑d=1min(n,m)ud∑d∣x∑d∣y∑i∣x∑j∣y=∑d=1min(n,m)ud∑d∣x∑d∣y⌊nx⌋⌊my⌋g(k)=∑i=1k⌊ki⌋ans=∑d=1min(n,m)ud×g(⌊nd⌋)×g(⌊md⌋)\begin{aligned} ans &=\sum_{i=1}^{n}\sum_{j=1}^{m}d_{ij}\\ &=\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{x|i}\sum_{y|j}(gcd(x,y)==1)\\ &=\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{x|i}\sum_{y|j}\sum_{d|gcd(x,y)}u_d\\ &=\sum_{d=1}^{min(n,m)}u_d\sum_{d|x}\sum_{d|y}\sum_{i|x}\sum_{j|y}\\ &=\sum_{d=1}^{min(n,m)}u_d\sum_{d|x}\sum_{d|y} \lfloor \cfrac{n}{x} \rfloor\lfloor \cfrac{m}{y } \rfloor \\ \end{aligned} \\ g(k)=\sum_{i=1}^{k}\lfloor\cfrac{k}{i}\rfloor \\ ans=\sum_{d=1}^{min(n,m)}u_d\times g(\lfloor\cfrac{n}{d}\rfloor )\times g(\lfloor\cfrac{m}{d}\rfloor ) ans=i=1∑nj=1∑mdij=i=1∑nj=1∑mx∣i∑y∣j∑(gcd(x,y)==1)=i=1∑nj=1∑mx∣i∑y∣j∑d∣gcd(x,y)∑ud=d=1∑min(n,m)udd∣x∑d∣y∑i∣x∑j∣y∑=d=1∑min(n,m)udd∣x∑d∣y∑⌊xn⌋⌊ym⌋g(k)=i=1∑k⌊ik⌋ans=d=1∑min(n,m)ud×g(⌊dn⌋)×g(⌊dm⌋)
g(x)g(x)g(x) 函数用整出分块预处理 然后就是套路了
「SDOI2017」数字表格
ans=∏i=1n∏j=1mfib[gcd(i,j)]=∏t=1nfib[t]∑i=1n∑j=1m[gcd(i,j)==1]=∏t=1nfib[t]∑t∣dnu(dt)⌊nd⌋⌊md⌋=∏t=1n∏t∣dfib[t]u(dt)⌊nd⌋⌊md⌋=∏d=1n∏t∣dfib[t]u(dt)⌊nd⌋⌊md⌋=∏d=1n[∏t∣dfib[t]u(dt)]⌊nd⌋⌊md⌋\begin{aligned} ans &=\prod_{i=1}^{n} \prod_{j=1}^{m}fib[gcd(i,j)] \\ &=\prod_{t=1}^{n}fib[t]^{\sum_{i=1}^{n} \sum_{j=1}^{m}[gcd(i,j)==1]} \\ &=\prod_{t=1}^{n} fib[t]^{\sum_{t|d}^{n} u(\frac{d}{t}) \lfloor\frac{n}{d}\rfloor \lfloor\frac{m}{d}\rfloor } \\ &=\prod_{t=1}^{n} \prod_{t|d} fib[t]^{u(\frac{d}{t}) \lfloor\frac{n}{d}\rfloor \lfloor\frac{m}{d}\rfloor } \\ &=\prod_{d=1}^{n} \prod_{t|d} fib[t]^{u(\frac{d}{t})\lfloor\frac{n}{d}\rfloor \lfloor\frac{m}{d}\rfloor } \\ &=\prod_{d=1}^{n} {[\prod_{t|d} fib[t]^{u(\frac{d}{t})}]}^{\lfloor\frac{n}{d}\rfloor \lfloor\frac{m}{d}\rfloor } \end{aligned} \\ ans=i=1∏nj=1∏mfib[gcd(i,j)]=t=1∏nfib[t]∑i=1n∑j=1m[gcd(i,j)==1]=t=1∏nfib[t]∑t∣dnu(td)⌊dn⌋⌊dm⌋=t=1∏nt∣d∏fib[t]u(td)⌊dn⌋⌊dm⌋=d=1∏nt∣d∏fib[t]u(td)⌊dn⌋⌊dm⌋=d=1∏n[t∣d∏fib[t]u(td)]⌊dn⌋⌊dm⌋
这道题的关键是是第三步到第四步 推式子的过程中交换枚举顺序很重要
然后反演里面整除分块的式子常用但不限于四则运算
时间 O(Tn+nlogn)O(T\sqrt{n}+n\log n)O(Tn+nlogn)
嗷嗷对了 还有对函数 g(d)=∏t∣dfib[t]u(dt)g(d)=\prod_{t|d} fib[t]^{u(\frac{d}{t})}g(d)=∏t∣dfib[t]u(td) 的预处理可以用埃式筛来做
「BZOJ2693」jzptab
ans=∑i=1n∑j=1mlcm(i,j)=∑i=1n∑j=1mi×jgcd(i,j)=∑t=1nt∑i=1it≤n∑j=1jt≤mi×j×(gcd(i,j)==1)=∑t=1nt∑i=1it≤n∑j=1jt≤mi×j×∑d∣id∣jud=∑d=1nud×d2∑td≤nt∑idt≤n∑jdt≤mi×j\begin{aligned} ans&=\sum_{i=1}^n \sum_{j=1}^m lcm(i,j) \\ &=\sum_{i=1}^n \sum_{j=1}^m\cfrac{i\times j}{gcd(i,j)} \\ &=\sum_{t=1}^n t\sum_{i=1}^{it\leq n}\sum_{j=1}^{jt\leq m}i\times j \times (gcd(i,j)==1) \\ &=\sum_{t=1}^n t\sum_{i=1}^{it\leq n}\sum_{j=1}^{jt\leq m}i\times j \times \sum_{d|i\ d|j}u_d \\ &=\sum_{d=1}^{n}u_d \times d^2 \sum_{td \le n}t\sum_{idt\le n}^{}\sum_{jdt\le m}^{}i\times j \\ \end{aligned} ans=i=1∑nj=1∑mlcm(i,j)=i=1∑nj=1∑mgcd(i,j)i×j=t=1∑nti=1∑it≤nj=1∑jt≤mi×j×(gcd(i,j)==1)=t=1∑nti=1∑it≤nj=1∑jt≤mi×j×d∣i d∣j∑ud=d=1∑nud×d2td≤n∑tidt≤n∑jdt≤m∑i×j
令 x=⌊nd⌋,y=⌊md⌋,sum(a,b)=∑i=1a∑j=1bi×jx=\lfloor \cfrac{n}{d} \rfloor,y=\lfloor \cfrac{m}{d} \rfloor,sum(a,b)=\sum_{i=1}^a\sum_{j=1}^bi\times jx=⌊dn⌋,y=⌊dm⌋,sum(a,b)=∑i=1a∑j=1bi×j
ans=∑d=1nud×d2∑t=1xt∑it≤x∑jt≤yi×j=∑d=1nud×d2∑t=1xt×sum(⌊xt⌋,⌊yt⌋)=∑d=1n∑t=1min(x,y)ud×d2×t×sum(⌊ndt⌋,⌊mdt⌋)①=∑t=1n∑dt≤nud×d2×t×sum(⌊ndt⌋,⌊mdt⌋)=∑dt≤nsum(⌊ndt⌋,⌊mdt⌋)∑t∣dtud×d2×t②\begin{aligned} ans&=\sum_{d=1}^{n}u_d \times d^2 \sum_{t=1}^xt\sum_{it\le x}^{}\sum_{jt\le y}^{}i\times j \\ &=\sum_{d=1}^{n}u_d \times d^2 \sum_{t=1}^xt\times sum(\lfloor\cfrac{x}{t}\rfloor,\lfloor\cfrac{y}{t}\rfloor) \\ &=\sum_{d=1}^{n}\sum_{t=1}^{min(x,y)} u_d \times d^2\times t\times sum(\lfloor\cfrac{n} {dt}\rfloor,\lfloor\cfrac{m}{dt}\rfloor)\ \ \ \ \ \ \ \ ① \\ &=\sum_{t=1}^{n}\sum_{dt\le n}^{} u_d \times d^2\times t\times sum(\lfloor\cfrac{n} {dt}\rfloor,\lfloor\cfrac{m}{dt}\rfloor) \\ &=\sum_{dt\le n}sum(\lfloor\cfrac{n} {dt}\rfloor,\lfloor\cfrac{m}{dt}\rfloor)\sum_{t|dt}^{} u_d \times d^2\times t\ \ \ \ \ \ \ \ ② \end{aligned} ans=d=1∑nud×d2t=1∑xtit≤x∑jt≤y∑i×j=d=1∑nud×d2t=1∑xt×sum(⌊tx⌋,⌊ty⌋)=d=1∑nt=1∑min(x,y)ud×d2×t×sum(⌊dtn⌋,⌊dtm⌋) ①=t=1∑ndt≤n∑ud×d2×t×sum(⌊dtn⌋,⌊dtm⌋)=dt≤n∑sum(⌊dtn⌋,⌊dtm⌋)t∣dt∑ud×d2×t ②
最后化成可以整除分块的式子的时候 如果有函数不能直接求或者预处理 要把该函数提到最前面 如这道题 ① -> ②这个过程
数字表格那道题同样也用了这个技巧
「SDOI2014」数表
ans=∑i=1n∑j=1mg(gcd(i,j))=∑t=1ng(t)∑i=1it≤n∑j=1jt≤m(gcd(i,j)==1)=∑t=1ng(t)∑i=1⌊nt⌋ui⌊nit⌋⌊mit⌋=∑t=1n∑i=1⌊nt⌋g(t)ui⌊nit⌋⌊mit⌋=∑it=1n∑t∣itg(t)ui⌊nit⌋⌊mit⌋=∑it=1n⌊nit⌋⌊mit⌋∑t∣itg(t)uitt\begin{aligned} ans&=\sum_{i=1}^{n} \sum_{j=1}^{m} g(gcd(i,j)) \\ &=\sum_{t=1}^{n}g(t) \sum_{i=1}^{it \le n} \sum_{j=1}^{jt\le m}(gcd(i,j)==1) \\ &=\sum_{t=1}^{n}g(t) \sum_{i=1}^{ \lfloor \frac{n}{t} \rfloor }u_i \lfloor \frac{n}{it} \rfloor \lfloor \frac{m}{it} \rfloor \\ &=\sum_{t=1}^{n} \sum_{i=1}^{ \lfloor \frac{n}{t} \rfloor }g(t)u_i \lfloor \frac{n}{it} \rfloor \lfloor \frac{m}{it} \rfloor \\ &=\sum_{it=1}^{n} \sum_{t|it}^{} g(t)u_i \lfloor \frac{n}{it} \rfloor \lfloor \frac{m}{it} \rfloor \\ &=\sum_{it=1}^{n} \lfloor \frac{n}{it} \rfloor \lfloor \frac{m}{it} \rfloor \sum_{t|it}^{} g(t)u_{\frac{it}{t}} \end{aligned} ans=i=1∑nj=1∑mg(gcd(i,j))=t=1∑ng(t)i=1∑it≤nj=1∑jt≤m(gcd(i,j)==1)=t=1∑ng(t)i=1∑⌊tn⌋ui⌊itn⌋⌊itm⌋=t=1∑ni=1∑⌊tn⌋g(t)ui⌊itn⌋⌊itm⌋=it=1∑nt∣it∑g(t)ui⌊itn⌋⌊itm⌋=it=1∑n⌊itn⌋⌊itm⌋t∣it∑g(t)utit
离线有点麻烦 常数有点卡(指卡我的常数
莫比乌斯反演专题题解相关推荐
- 莫比乌斯反演专题学习笔记
莫比乌斯反演专题学习笔记 本文记录一些和莫反有关的内容的笔记 可能存在诸多谬误,阅读时请谨慎分析 若发现文中有谬误,如您愿意,恳请您向我指出,不胜感激! 为什么要学莫比乌斯反演? 解决一类与狄利克雷卷 ...
- 【Project Euler】530 GCD of Divisors 莫比乌斯反演
[题目]GCD of Divisors [题意]给定f(n)=Σd|n gcd(d,n/d)的前缀和F(n),n=10^15. [算法]莫比乌斯反演 [题解]参考:任之洲数论函数.pdf 这个范围显然 ...
- 专题·莫比乌斯函数与欧拉函数【including 整除分块,积性函数,狄利克雷卷积,欧拉函数,莫比乌斯函数,莫比乌斯反演
初见安~又是好久没写博客了--加上CSP才炸了一波. 目录 一.整除分块 题解 二.积性函数 三.狄利克雷卷积 四.欧拉函数 五.莫比乌斯函数(mu) 六.莫比乌斯反演 一.整除分块 看个例题:洛谷P ...
- 【数学专题】莫比乌斯反演与积性函数
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的模板整合计划 目录 莫比乌斯反演 AcWing 2702. problem b AcWing 1358. 约数个数和(莫 ...
- 【专题】莫比乌斯反演
问题引入: 给定整数 N 和 M.求满足 且 为质数的点对 的个数. 数据范围: 接下来会见到以下内容: 莫比乌斯函数 莫比乌斯函数的线性筛 迪利克雷卷积介绍 莫比乌斯反演 整除分块 杜教筛介绍 ...
- 【bzoj2694】Lcm 莫比乌斯反演+线性筛
题目描述 求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m|\mu(gcd(i,j))|lcm(i,j)$,即$gcd(i,j)$不存在平方因子的$lcm(i,j)$之 ...
- P2257 YY的GCD (莫比乌斯反演)
[题目链接] https://www.luogu.org/problemnew/show/P2257 // luogu-judger-enable-o2 /* -------------------- ...
- 【bzoj4176】Lucas的数论 莫比乌斯反演+杜教筛
题目描述 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i<=N" ...
- 【XSY2719】prime 莫比乌斯反演
题目描述 设\(f(i)\)为\(i\)的不同的质因子个数,求\(\sum_{i=1}^n2^{f(i)}\) \(n\leq{10}^{12}\) 题解 考虑\(2^{f(i)}\)的意义:有\(f ...
最新文章
- oracle判断值是否为0的高数,SQLServer和Oracle的常用函数对比
- AutoLayout全解
- sublime配置python3_Sublime Text 3 Python3环境配置
- SAP Cloud for Customer销售订单External Note的建模细节
- Origin绘制双Y或双X折线图(不同坐标)
- 七牛2015结姻大典,约吗?
- paip.c++ qt C:\iwmake\build_mingw_opensource _Unwind_Resume的问题
- 课程设计—通讯录管理系统
- COMSOL指南:COMSOL案例库文件夹的寻找
- 使用Clipboard.js轻松实现“复制到剪贴板”
- 如何用MATLAB编写FIR维纳滤波器,Fir维纳滤波器的Matlab仿真
- 北信源桌面终端管理系统部署与问题
- 中国城市轨道交通与设备行业布局策略规划及十四五建设展望报告2021-2027年版
- 植物大战僵尸用户存档修改(单机版)
- 《海边的卡夫卡》读后感
- SIM7600使用TCP连接服务器
- Redis - increment 递增方法 | 处理防重复和并发问题
- 华为服务器维护客服,服务器客服
- OkHttp3源码分析二 拦截器 上
- 背负着24-70之名 佳能新老镜皇横向对比(MTF对比说明)
热门文章
- 新款 iMac2021上手体验,这次你心动了吗
- python List中删除特定元素
- 10.高光反射Blinn
- Visual Studio 2022调节字体大小
- JavaEE 企业级分布式高级架构师(十七)ElasticSearch全文检索(1)
- python 提示按任意键退出_详解Python实现按任意键继续/退出的功能 python请按任意键继续 什么意思...
- 【Unity3D插件】DoTween插件的简单介绍及示例代码
- excel学习-填充空白单元格
- 如何清理网易云无损flac格式留下的注释163key(Don't Modify):.........等牛皮癣?
- 网易考拉海购Dubbok框架优化详解(学习笔记)