文章目录

  • 前言
  • 素数与同余
    • 线性筛部分
    • 素数
    • 线性递推逆元
    • 指数循环节降幂
    • 当求逆元时模数与求逆元的数有可能不互质时的处理方法
    • 一个神奇的结论
    • 拓展欧拉定理
  • 杂乱的一些性质/技巧
    • 二进制枚举子集
    • 异或前缀和
    • O(n)预处理popcount
  • 多项式一类
  • 组合数学
    • 卡特兰数通项
    • 斯特林数
    • 错排公式
    • 二项式反演

前言

感觉距离 s c o i 2019 scoi2019 scoi2019的时间不多了博主因为太弱所以现在慌得一批,现在尝试梳理一些小知识点顺便复习。

素数与同余

线性筛部分

常识向,直接贴代码了,大佬们手动跳过吧。
最常用的是线性筛质数。
同时有两种常用的可以线性筛预处理的函数:莫比乌斯函数,欧拉函数。
线性筛代码:

typedef long long ll;
ll prime[N],pri[N],cnt=0,mu[N],phi[N];
inline void init(int len){mu[1]=phi[1]=1;for(int i=2;i<=len;++i){if(!pri[i])prime[++cnt]=i,mu[i]=-1,phi[i]=i-1;for(int j=1;i*prime[j]<=len;++j){pri[i*prime[j]]=1;if(i%prime[j]==0){phi[i*prime[j]]=phi[i]*prime[j];mu[i*prime[j]]=0;break;}mu[k]=-mu[i];phi[k]=phi[i]*(prime[j]-1);}}
}

素数

线性递推逆元

指数循环节降幂

当求逆元时模数与求逆元的数有可能不互质时的处理方法

一个神奇的结论

有个结论,对于 m >= 2,与m的互质的数的和为m * phi (m) / 2

拓展欧拉定理

杂乱的一些性质/技巧

二进制枚举子集

这是一个用循环实现的快速枚举子集的方法,代码如下:

for(int i=s;i;i=s&(i-1))

异或前缀和

一个蒟蒻博主听说可以打表证明的性质:
s u m i = i , i ≡ 0 m o d &ThinSpace;&ThinSpace; 4 sum_i=i,i\equiv0 \mod4 sumi​=i,i≡0mod4
s u m i = 1 , i ≡ 1 m o d &ThinSpace;&ThinSpace; 4 sum_i=1,i\equiv1 \mod4 sumi​=1,i≡1mod4
s u m i = i + 1 , i ≡ 2 m o d &ThinSpace;&ThinSpace; 4 sum_i=i+1,i\equiv2 \mod4 sumi​=i+1,i≡2mod4
s u m i = 0 , i ≡ 3 m o d &ThinSpace;&ThinSpace; 4 sum_i=0,i\equiv3 \mod4 sumi​=0,i≡3mod4
感觉挺有用的

O(n)预处理popcount

p o p c o u n t ( x ) popcount(x) popcount(x)指 x x x在二进制形式中二进制位为 1 1 1的数量。
直接处理是 O ( l o g x ) O(log_x) O(logx​)的,但是可以 O ( a m a x ) O(a_{max}) O(amax​)预处理。
代码:

for(int i=1;i<=lim;++i)Popcount[i]=Popcount[i>>1]+(i&1);

原理很简单(逃

多项式一类

因为太多之前特意写了一篇博客 才不是骗访问量呢

组合数学

卡特兰数通项

C a t n = C 2 n n − C 2 n n − 1 = C 2 n n n + 1 Cat_n=C_{2n}^n-C_{2n}^{n-1}=\frac{C_{2n}^n}{n+1} Catn​=C2nn​−C2nn−1​=n+1C2nn​​

斯特林数

两类可以用 f f t fft fft预处理做到 O ( n l o g n ) O(nlogn) O(nlogn)
但是一般都只用 O ( n 2 ) O(n^2) O(n2)(雾
下面给出递推式:
第一类斯特林数递推式:



第二类斯特林数递推式:



第一类斯特林数详细小结
第二类斯特林数详细小结

错排公式

看了这道题你就懂了。
递推式: f i = ( i − 1 ) ( f i − 1 + f i − 2 ) f_i=(i-1)(f_{i-1}+f_{i-2}) fi​=(i−1)(fi−1​+fi−2​)

二项式反演

f n = ∑ i = 0 n ( n i ) g i f_n=\sum_{i=0}^n\binom{n}{i}g_i fn​=∑i=0n​(in​)gi​
=> g n = ∑ i = 0 n ( ( − 1 ) i ( n n − i ) f i ) g_n=\sum_{i=0}^n((-1)^i\binom{n}{n-i}f_i) gn​=∑i=0n​((−1)i(n−in​)fi​)
可以看这道题简单体会一下。

数学小知识点整理(TBC)相关推荐

  1. JS,JQ,PHP的小知识点整理

    在日常开发中所使用的JS,JQ,PHP的小知识点整理 持续更新-- 1.js和jq获取当前的时间戳 方法一: <script>var timestamp = Date.parse(new ...

  2. IOS 一些小知识点整理

    NSArray 类定义的方法 1.  makeObjectsPerformSelector:@select(aMethod) 让数组中的每个元素 都调用 aMethod 2. makeObjectsP ...

  3. 高一数学集合知识点整理_高一数学 | 高一数学函数图像知识点总结,实用!

    高一数学 | 高一数学函数图像知识点总结,实用! 一.基本初等函数的图像 1.一次函数 性质:一次函数图像是直线,当k>0时,函数单调递增:当k<0时,函数单调递减 2.二次函数 性质:二 ...

  4. 高一数学集合知识点整理_高一 | 数学 “集合”知识点总结及归纳~

    集合是数学中最基本的概念,它已渗透到自然科学的各个领域,应用十分广泛.在集合学习过程中,若能够明确和运用常见的数学思想方法,就能够更深刻地理解集合概念,更全面地渗透集合观念,更灵活地解决集合问题. 一 ...

  5. 高一数学集合知识点整理_高一数学知识点总结

    高一数学知识总结 必修一 一.集合 一.集合有关概念 1.集合的含义 2.集合的中元素的三个特性: (1)元素的确定性如:世界上最高的山 (2)元素的互异性如:由HAPPY的字母组成的集合{H,A,P ...

  6. 求职之C++小知识点整理

    1.顺序容器 1.顺序容器:vector,deque,list,forward_list,array,string.其中除list和forward_list外,其它都支持快速随机访问. deque a ...

  7. springmvc学习(小知识点整理)

    我们客户端经常是会收到服务器返回的json数据这个时候,我们很多时候都是直接使用便可,但有时我们也需要向服务器发送json数据,这个时候获取表单数据并转换为json数据就很有必要了 前台json和js ...

  8. python selenium 小知识点整理笔记(更新中...)

    1.python selenium 获取JS中返回的变量值: # 获取某节点中返回的子节点长度 clsroomNum = self.driver.execute_script("return ...

  9. 081200计算机科学与技术——301数学,知识点整理【更新中】

    文章目录 函数 函数的有界性 函数的单调性 函数的奇偶性 函数的周期性 取整函数 反函数 复合函数 基本初等函数 初等函数 数列的定义 数列极限 收敛数列的性质 函数极限 函数极限的性质 更新中 p7 ...

最新文章

  1. CVPR2019:无人驾驶3D目标检测论文点评
  2. Python中logging.config配置文件解读
  3. 2018冬令营模拟测试赛(九)
  4. 中文分词中的战斗机-jieba库
  5. python必备插件_5框酷毙的python插件工具
  6. 单件模式(Singleton Pattern)(转自TerryLee)
  7. 数学学习的心理——关于数学中的挫败的反思及若干启示
  8. MySQL数据的备份与还原实现步骤
  9. package.json 入门
  10. Linux音频驱动-WAV文件格式分析
  11. Java物联网中间件_物联网中间件技术——Niagara介绍.pdf
  12. MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
  13. 台式计算机有哪些硬件,台式机包括什么
  14. SSL P2133 腾讯大战360
  15. 学习Lua碰到的问题、踩坑记录
  16. 艾宾浩斯记忆曲线(遗忘曲线)
  17. ES VS CK,成本太高,效率太低?不存在的
  18. Python才是人工智能AI的首选编程语言,你值得拥有……
  19. 仓央嘉措 ❤《见与不见》的全文 ❤
  20. 编程规范 写 if 语句不要任性

热门文章

  1. AM系列备自投保护装置在广州中山大学附属(南沙)医院配电工程中的应用
  2. codeigniter mysql -1_CodeIgniter错误mysql
  3. 超长的Jenkinsfile的Method code too large问题对应方法
  4. 基于vlc-Qt的视频播放器(支持添加视频列表、单曲循环等)
  5. 杨建允:椰树直播带货是翻车了还是一次成功的营销?
  6. 计算机无纸化考试知识点,面对无纸化考试 2020高会考场上最怕什么?
  7. java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署
  8. ubuntu - 安装QQ国际版
  9. win 10 Tomcat安装教程
  10. 优秀课程案例:使用Scratch制作俄罗斯方块彩色高级版