常州集训数论选记

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} 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的结果 \((n\leq2*10^5)\)

二项式定理

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

posted @ 2021-07-18 19:09  NuoCarter  阅读(70)  评论(0编辑  收藏  举报