1. 程式人生 > >【莫比烏斯反演】關於ΣΦ(d|n)=n和Σμ(d|n)=0

【莫比烏斯反演】關於ΣΦ(d|n)=n和Σμ(d|n)=0

首先先推第一個

d|nϕ(d)=n
我是這樣想的每一個數字都可以分解為多個素數的乘積,那麼n=Pa11×Pa22......Pakk
假設這個時候我們將n乘Pk那麼就變成了n=Pa11×Pa22......Pak+1k
我們發現對於n來說其他的不是Pk的因數完全沒有收到影響,那麼其他的沒有Pk的就可以表示為f(n)=d|nt|d,t|Pkμ(t)ϕ(d) 這個地方的莫比烏斯函式起到的作用就是令d和 P_k互質,這樣的話 P_k就不會對f(n)造成影響
因為尤拉函式是積性函式那麼令F(n)=d|nϕ(d)
那麼F(n)=f(n)×(ϕ(1)+ϕ(Pk)+ϕ(P2k)......
+ϕ(Pakk))

同理F(n×Pk)=f(n)×(ϕ(1)+ϕ(Pk)+ϕ(P2k)......+ϕ(Pakk)+ϕ(Pak+1k))
那麼可以發現化簡後就變成了ϕ(Ptk)=PtkPt1k
F(n)=f(n)×(PakkPak1k+Pkak1...+Pk1+1)F(n)=Pakk×f(n)
同理F(n×Pk)=Pak+1k×f(n×Pk)
因為 P_k 在函式f 中沒有產生影響 (因為之前的f(n)統計的是d中沒有 P_k這個因數的d的尤拉函式和,n多一個因數P_k對f(n)沒有產生影響 )所以F(n×Pk)=Pak+1k×f(n) 所以 F(n×Pk)F(n)=Pa

相關推薦

——蒟蒻的理解

col oid eps div 約數個數 符號 並且 sil 線性篩   序:最近被反演虐的不要不要的,遂決定寫一篇博文,防止以後自己翻車…… 1.定義   莫比烏斯函數:$\mu(n)$ $\begin{cases} & \tex

51nod 1222 最小公倍數計數

tdi .html blog pri using ret n) can code 參考:https://www.cnblogs.com/SilverNebula/p/7045199.html 所是反演其實反演作用不大,又是一道做起來感覺詭異的題 轉成前綴和相減的形式 \[

洛谷P3327 [SDOI2015]約數個數

ios wap 文件包含 long define line tchar pan 包含 題目 設d(x)為x的約數個數,給定N、M,求\(\sum_{i = 1}^{N} \sum_{j = 1}^{M} d(ij)\) 輸入格式 輸入文件包含多組測試數據。第一行,一個整數T

洛谷3704 [SDOI2017] 數字表格

ont nbsp 產生 ID IV mod return esp SQ 題目分析: 比較有意思,但是套路的數學題。 題目要求$ \prod_{i=1}^{n} \prod_{j=1}^{m}Fib(gcd(i,j)) $. 註意到$ gcd(i,j) $有大量重復,采用莫比

[HDU1695]GCD + [HAOI2011]Problem b + [POI2007]ZAP-Queries

最終 floor line cas pri int += problem cpp [HDU1695]GCD [HAOI2011]Problem b [POI2007]ZAP-Queries 令\[ans(n, m)=\sum_{i=1}^n\sum_{j=1}^m[GCD(

YY的GCD

for amp spl .org init www. ref min r+ [Luogu2257]YY的GCD 求\(\sum_{i=1}^n\sum_{j=1}^m[(x, y)\)為質數\(]\) \(T \le {10}^4, 1\le n, m \le {10}^7

bzoj 2005: [Noi2010]能量采集

can str isp code left sum += name swa 註意到k=gcd(x,y)-1,所以答案是 \[ 2*(\sum_{i=1}^{n}\sum_{i=1}^{m}gcd(i,j))-n*m \] 去掉前面的乘和後面的減,用莫比烏斯反演來推,設n&l

ZAP-QueriesPOI2007

傳送門:https://www.luogu.org/problemnew/show/P3455 太經典了,,模板往上套 我直接上個截圖吧,,打公式太麻煩 整除分塊也是常識,直接上啦 #include<bits/stdc++.h> #define in read(

洛谷 P3455 [POI2007]ZAP-Queries

這個題的題意與 【洛谷 P2257 YY的GCD】挺相似的,只不過現在要求去gcdgcd為固定值的答案的數量。 由於很像,公式還是很好推的: Ans=∑t=1min(a,b)μ(t)⌊atd

2018 Multi-University Training Contest 7 6390 GuGuFishtion

昨天一下午,今天一上午,我已經快被這個題噁心死了。 TLE,TLE永遠都是TLE。不得不說,我覺得卡我卡的沒什麼道理,非常的不爽! 卡內迴圈列舉變數型別我是真的不懂,發現知識盲區+1. 可是就

洛谷 P3327 [SDOI2015]約數個數

前置技能: d(ij)=∑x|i∑y|j[gcd(x,y)=1]d(ij)=∑x|i∑y|j[gcd(x,y)=1] 然後按照套路一頓亂推……好吧我是沒推出來= = 最終結果: Ans=∑d

洛谷 P2257 YY的GCD

一年前留下的莫比烏斯反演的坑,竟發現一年後還是不懂(這不是廢話嘛)! 但是我覺得搞一搞還是可以的。 實際上算是第一次做莫比烏斯反演問題。 初步感覺解決這類問題的辦法就是推公式,當然不是說是這麼簡單,日後發現有問題還將更改。 一般來說將一個列舉求和問題

關於ΣΦ(d|n)=nΣμ(d|n)=0

首先先推第一個∑d|nϕ(d)=n 我是這樣想的每一個數字都可以分解為多個素數的乘積,那麼n=Pa11×Pa22......Pakk 假設這個時候我們將n乘Pk那麼就變成了n=Pa11×Pa22......Pak+1k 我們發現對於n來說其他的不是Pk的因

PE 439 杜教篩

垃圾題,坑了我一天QAQ 題目大意:求∑Ni=1∑Nj=1σ(ij),N=1011 ∑Ni=1∑Nj=1σ(ij) =∑Ni=1∑Nj=1∑x|i∑y|jxjy[gcd(x,y==1)] =∑Ni=1∑Nj=1∑x|i∑y|jxjy∑d|x,yμ(d)

BZOJ2301 Problem B 分塊

題解: 對於 a≤x≤b,c≤y≤da≤x≤b,c≤y≤d,這個條件,我們發現比較難以處理,這時候我們可以利用二維字首和的思想,記 x≤b,y≤dx≤b,y≤d 時的答案為 A[b][d]A[b]

SPOJ 7001 VLATTICE

題目連結: 題意: 1≤x,y,z≤n,問有多少對(x,y,z)使得gcd(x,y,z)=1 分析: 尤拉搞不了了,我們用莫比烏斯來搞一搞。 同樣,我們設 f(d):滿足gcd(

[HYSBZ/BZOJ2301]Problem b

題目 大意就是求在a<=x<=b,c<=y<=d,滿足gcd(x,y)是k的(x,y)的對數。 分析:令g(n,m,k)表示在1<=x<=n,1<=y<=m,滿足gcd(x,y)是k的(x,y)的對數。 那麼

BZOJ2818 Gcd

題面在這裡 反演裸題不解釋 示例程式: #include<cstdio> #include<algorithm> using namespace std; typedef

CF1139D Steps to One 題解枚舉DP

using rac algorithm con contain cto sele some while 反演套 DP 的好題(不用反演貌似也能做 Description Vivek initially has an empty array \(a\) and some i