常州集训数论选记

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]=xi 中一定包含 (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)(b) 互质的时候,(phi(ab)=phi(a)*phi(b))

其实线性筛中最重要的就是这句

phi[i*prime[j]]=i%prime[j]==0 ? phi[i]*prime[j] :phi[i]*(prime[j]-1);

首先 i%prime[j]!=0 所以 iprime[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的结果 ((nleq2*10^5))

二项式定理

组合数学牛逼,慢慢补了。。

原文地址:https://www.cnblogs.com/NuoCarter/p/15027392.html