算法数学笔记-零、常用数表及杂项
零、常用数表及杂项
常用数表
n= | 拆分数 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
10 | 42 | |||||||||
20 | 627 | |||||||||
30 | 5604 | |||||||||
40 | 37338 | |||||||||
50 | 204226 | |||||||||
60 | 966467 | |||||||||
70 | 4087968 | |||||||||
80 | 15796476 | |||||||||
90 | 56634173 | |||||||||
100 | 190569292 |
(1~n中)n= | 本质不同的质因子个数和 | 质因子个数和 | 含有大于sqrt(i)的质因子的数的个数 | 最小质因子个数和 | 因子个数 | 因子个数平方 |
---|---|---|---|---|---|---|
1e3 | 2126 | 2877 | 912 | 1609 | 7100 | 75083 |
1e4 | 24300 | 31985 | 9597 | 16121 | 93768 | 1504136 |
1e5 | 266400 | 343614 | 98106 | 161247 | 1167066 | 26324772 |
1e6 | 2853708 | 3626619 | 990892 | 1612490 | 13971034 | 421094344 |
1e7 | 30130317 | 37861249 | 9955052 | 16125085 | 162728526 | ... |
n | 2n~3n | 2.8n~3.7n | n | 1.61n | nlogn | nlogn logn |
牛顿迭代
\(x_{i + 1} = x_i - \frac{f(x_i)}{f'(x_i)}\)
牛顿广义二项式定理
\(\alpha \in R \\ (x + y) ^ {\alpha} = \sum_{k = 0} ^ {\infty} {\alpha \choose k} x^{\alpha - k} y^k \\ { \alpha \choose k} = \frac{\alpha(\alpha - 1)...(\alpha - k + 1)}{k!}\)
其它公式
\(\sum_{i=0}^n ic^i = \frac{nc^{n+2} - (n + 1)c^{n + 1} + c}{(c - 1)^2} \ \ c\not= 1\)
\(\sum_{i=0}^{\infty} ic^i= \frac{c}{(1 - c)^2} \ \ |c| < 1\)
调和级数:
\(H_n = \sum_{i=1}^{n}\frac{1}{i}\)
\(\sum_{i=1}^n iH_i = \frac{n(n+1)}{2}H_n - \frac{n(n-1)}{4}\)
\(\sum_{i=1}^n = (n+1)H_n - n\)
\(\sum_{i=1}n{i \choose m}H_i = {{n+1}\choose{m+1}}(H_{n+1} - \frac1{m+1})\)
组合数
\({n\choose k} = (-1)^k{k-n-1\choose {k}}\)
\({n\choose k} = \frac n k{{n-1}\choose{k-1}}\)
\({n\choose m}{m\choose k} = {n\choose k}{{n-k}\choose {m-k}}\)
\(\sum _{k=0}^n {r\choose k}{s\choose {n-k}} = {{r+s}\choose n}\)
将数组a排序后,前i个数任意异或的最大值不超过a[i] * 2
\(x {{x +k} \choose n} = (k +1) {{x + k} \choose {n + 1}} + (n - k) {{x + k + 1}\choose {n+1}}\)
对任意正整数x,\(\sum_{i - 1} ^ n {{i}\choose{x}} = {{n + 1}\choose{x + 1}}\)
对于矩阵A,满足\(A_{i,j} = ij*gcd(i, j)\),高斯消元后,有:
对于矩阵B,满足\(B_{i,j} = gcd(i, j)\),在高斯消元后,有:
\(ij = - \frac{i^2} 2 - \frac{j^2}{2} + \frac{(i + j) ^ 2}{2}\)
但i,j不一定有二次剩余, 所以
\(-ij = C^2_i + C^2_j - C^2_{i + j}\)
\(\sum _{i = 1} ^ \infty i ^{-2} = \frac{\pi ^ 2}{6}\)
\(\varphi(ij) = \frac{\varphi(i)\varphi(j)gcd(i,j)}{\varphi(gcd(i,j))}\)
给一个多项式除去\((1 + x)\)就相当于乘上\((1 - x + x^2 - x^3 + ... )\)可以使用前缀和优化,也可以理解为可撤销背包
使用斯特林数展开为下降幂:
\(x^n = \sum_{i = 0}^n {x \choose i} i! S(n, i) = \sum_{i = 0}^n S(n, i)x^{\underline{i}}\)
\(C_n^k *k^{\underline{m}} = C_{n - m} ^ {k - m} * n^{\underline{m}}\)
\(x^n = \sum_{k=0}^n Eular(n, k) {{x +k} \choose n}\)
子集枚举 (复杂度\(O(3^n)\))
for(int s = t; s; s = (s - 1) & t);
复数相乘
几何定义:模长相乘,幅角相加
代数定义:
WQS二分
WQS 二分通常用来解决下面这类问题:
给定若干 n 个物品,要求从中恰好选 M 次,最大化 / 最小化 选的物品权值和。
几个关键点:
1.正向二分(从 -inf ~ +inf)
2.先想清楚随着mid增大,m会增加还是减小
3.如果是m增大,则在check()中,同等优解的情况下,尽量使m更大,二分中寻找第一个check(mid) >= M的位置.
如果是m减小,则在check()中,同等优解的情况下,尽量使m更小,二分中寻找第一个check(mid) <= M的位置.
4.答案既是ans + M * mid 或 ans - M * mid(不是实际选择次数m * mid);
*2022/10/5 移除范德蒙德卷积,新增于《四、组合数学》及推论
*2022/10/6 新增 WQS二分
*2022/11/24 新增排列组合及下降幂的诸多公式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本