常州集訓數論選記
7.17隨便聽聽數論
(實際上很有可能不會嗚嗚嗚)
質數個數大概是 \(\frac{n}{logn}\),即每 \(\log n\) 個數就有一個質數。
線性篩+暴力好像就可以有一個高階複雜度了呢QaQ
正約數和
如果將一個數 \(a\) 用算術基本定理分解為 \(a=p_{1}^{c_1}*p_{2}^{c_2}*.......*p_{n}^{c_n}\)
則正約數和為 \(\prod_{i=1}^{m} \sum_{j=1}^{n} p_i^j\) 簡單來說 \((1+p_1+p_1^2+.......p_1^{c_1})*(1+p_2.....+p_2^{c_2})*........\)
為什麼線性篩一定是被最小質因子篩掉:
假設一個合數 \(x\) ,反證法:如果被不是最小的質因子篩掉。
即當前的 i*prime[j]=x
且 i
中一定包含 \(x\) 的最小質因子。
那麼線上性篩的過程中 \(i\) 一定會在 i%prime[t]==0
時退出,不會進行到 isprime[i*prime[j]]=true
這一步,prime[t]
為 \(x\) 的最小質因子。
所以線性篩一定是被最小質因子篩掉的。
如果 \(p\) 為質數,\(\phi(p^k)=p^k-p^{k-1}=p^{k-1}*(p-1)\)
線性篩尤拉函式的證明:
首先是 \(\phi\) 本身的性質,當 \(a\)
其實線性篩中最重要的就是這句
phi[i*prime[j]]=i%prime[j]==0 ? phi[i]*prime[j] :phi[i]*(prime[j]-1);
首先 i%prime[j]!=0
所以 i
與 prime[j]
互質。
所以phi[i*prime[j]]=phi[i]*phi[prime[j]]
然後因為 phi[prime[j]]=prime[j]-1
所以當 i,prime[j]
互質的時候,可以直接 phi[i*prime[j]]=phi[i]*(prime[j]-1)
而當 i,prime[j]
phi[i*prime[j]]=phi[i]*prime[j]
先給出結論再證明。
首先一個結論:當 p
為質數的時候,\(\phi(p^k)=p^k-p^{k-1}=p^{k-1}*(p-1)\)
其實感性理解也很好理解,\(p^k\) 只有 \(p\) 這一個質因子。
那麼 \([1,p^k-1]\) 這個區間中與 \(p^k\) 不互質的數就只有 \([1*p,2*p.......(p-1)*p],[1*p^2,......(p-1)*p^2],[...],[....(p-1)*p^{k-1}]\) 一共有
\(p^{k-1}\) 個。提一個公因式就變成了 \(p^{k-1}*(p-1)\)
\(\phi(p^k)=p^{k-1}*(p-1)\)
\(\phi(p^{k-1})=p^{k-2}*(p-1)\)
所以可以得到:\(\phi(p^k)=\phi(p^{k-1})*p\)
因為 i,prime[j]
不互質,不妨設 \(prime[j]=p,i=T*p^{k-1}\)
那麼 \(i*prime[j]=T*p^k\)
按照上面那種形式分解的話,\(\phi(i*p)=\phi(T)*\phi(p^k)\) (因為 \(T\) 與 \(p^k\) 互質)
又因為 \(\phi(T)*\phi(p^k)=\phi(T)*\phi(p^{k-1})*p\)
因為 \(\phi(T)*\phi(p^{k-1})=\phi(T*p^{k-1})=\phi(i)\)
所以 \(\phi(i*p)=\phi(i)*p\)
得證!
威爾遜定理
高斯吊打威爾遜!
充要條件:p
是質數,則有 \(p-1 \equiv (p-1)!\) ($mod $ \(p\))
只有兩個數的逆元是本身,一個是 \(1\) ,一個是 \(p-1\)
7.18認真聽聽組合數學
我是組合數學fw
鴿巢原理?~
定理:若有 \(n\) 個鴿巢,\(n+1\) 只鴿子,至少有一個鴿巢裡至少有兩隻鴿子。
例:取數問題:
從\(1,2,3,4,......2n\) 中最多取 \(n\) 個數,使得取出的數兩兩不整除。
例:Halloween Treats
設 \(a_1,a_2.....a_m\) 是正整數序列,則至少存在整數 \(k\) 和 \(l\),使得 \(a_{k+1}+....a_l\) 能被 \(m\) 整除。
例:國際象棋大師
有 \(11\) 周,每天至少 \(1\) 盤,每週不超過 \(12\) 盤,存在連續若干天恰好下了 \(21\) 盤。
例:Erdos-Szekeres 定理
假設由 \(n^2+1\) 個不同實數構成的序列中,必定含有一個長度為 \(n+1\) 的單調子序列
假設 \(m_i\) 為以 \(a_i\) 為開頭的最長單調上升子序列的長度。
那麼至少有 \(n+1\) 個 \(m_i\) 相等。不妨設 \(k_1<k_2<.....k_{n+1}\)
且 \(m_{k_1}=m_{k_2}=m_{k_3}...=m_{k_{n+1}}\)
顯然不存在 \(a_{k_i}<a_{k_{i+1}}\) 否則這倆的 \(m_i\) 就肯定不相等
於是這 \(n+1\) 個 \(a_{k_i}\) 形成一個單調遞減序列。
排列組合
將 \(n\) 個無標號的物品分程若干組,求方案數對 \(10^9+7\) 取MOD的結果 \((n\leq2*10^5)\)
二項式定理
組合數學牛逼,慢慢補了。。