数学小知识点整理(TBC)
文章目录
- 前言
- 素数与同余
- 线性筛部分
- 素数
- 线性递推逆元
- 指数循环节降幂
- 当求逆元时模数与求逆元的数有可能不互质时的处理方法
- 一个神奇的结论
- 拓展欧拉定理
- 杂乱的一些性质/技巧
- 二进制枚举子集
- 异或前缀和
- 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    4 sum_i=i,i\equiv0 \mod4 sumi=i,i≡0mod4
s u m i = 1 , i ≡ 1 m o d    4 sum_i=1,i\equiv1 \mod4 sumi=1,i≡1mod4
s u m i = i + 1 , i ≡ 2 m o d    4 sum_i=i+1,i\equiv2 \mod4 sumi=i+1,i≡2mod4
s u m i = 0 , i ≡ 3 m o d    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)相关推荐
- JS,JQ,PHP的小知识点整理
在日常开发中所使用的JS,JQ,PHP的小知识点整理 持续更新-- 1.js和jq获取当前的时间戳 方法一: <script>var timestamp = Date.parse(new ...
- IOS 一些小知识点整理
NSArray 类定义的方法 1. makeObjectsPerformSelector:@select(aMethod) 让数组中的每个元素 都调用 aMethod 2. makeObjectsP ...
- 高一数学集合知识点整理_高一数学 | 高一数学函数图像知识点总结,实用!
高一数学 | 高一数学函数图像知识点总结,实用! 一.基本初等函数的图像 1.一次函数 性质:一次函数图像是直线,当k>0时,函数单调递增:当k<0时,函数单调递减 2.二次函数 性质:二 ...
- 高一数学集合知识点整理_高一 | 数学 “集合”知识点总结及归纳~
集合是数学中最基本的概念,它已渗透到自然科学的各个领域,应用十分广泛.在集合学习过程中,若能够明确和运用常见的数学思想方法,就能够更深刻地理解集合概念,更全面地渗透集合观念,更灵活地解决集合问题. 一 ...
- 高一数学集合知识点整理_高一数学知识点总结
高一数学知识总结 必修一 一.集合 一.集合有关概念 1.集合的含义 2.集合的中元素的三个特性: (1)元素的确定性如:世界上最高的山 (2)元素的互异性如:由HAPPY的字母组成的集合{H,A,P ...
- 求职之C++小知识点整理
1.顺序容器 1.顺序容器:vector,deque,list,forward_list,array,string.其中除list和forward_list外,其它都支持快速随机访问. deque a ...
- springmvc学习(小知识点整理)
我们客户端经常是会收到服务器返回的json数据这个时候,我们很多时候都是直接使用便可,但有时我们也需要向服务器发送json数据,这个时候获取表单数据并转换为json数据就很有必要了 前台json和js ...
- python selenium 小知识点整理笔记(更新中...)
1.python selenium 获取JS中返回的变量值: # 获取某节点中返回的子节点长度 clsroomNum = self.driver.execute_script("return ...
- 081200计算机科学与技术——301数学,知识点整理【更新中】
文章目录 函数 函数的有界性 函数的单调性 函数的奇偶性 函数的周期性 取整函数 反函数 复合函数 基本初等函数 初等函数 数列的定义 数列极限 收敛数列的性质 函数极限 函数极限的性质 更新中 p7 ...
最新文章
- CVPR2019:无人驾驶3D目标检测论文点评
- Python中logging.config配置文件解读
- 2018冬令营模拟测试赛(九)
- 中文分词中的战斗机-jieba库
- python必备插件_5框酷毙的python插件工具
- 单件模式(Singleton Pattern)(转自TerryLee)
- 数学学习的心理——关于数学中的挫败的反思及若干启示
- MySQL数据的备份与还原实现步骤
- package.json 入门
- Linux音频驱动-WAV文件格式分析
- Java物联网中间件_物联网中间件技术——Niagara介绍.pdf
- MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
- 台式计算机有哪些硬件,台式机包括什么
- SSL P2133 腾讯大战360
- 学习Lua碰到的问题、踩坑记录
- 艾宾浩斯记忆曲线(遗忘曲线)
- ES VS CK,成本太高,效率太低?不存在的
- Python才是人工智能AI的首选编程语言,你值得拥有……
- 仓央嘉措 ❤《见与不见》的全文 ❤
- 编程规范 写 if 语句不要任性
热门文章
- AM系列备自投保护装置在广州中山大学附属(南沙)医院配电工程中的应用
- codeigniter mysql -1_CodeIgniter错误mysql
- 超长的Jenkinsfile的Method code too large问题对应方法
- 基于vlc-Qt的视频播放器(支持添加视频列表、单曲循环等)
- 杨建允:椰树直播带货是翻车了还是一次成功的营销?
- 计算机无纸化考试知识点,面对无纸化考试 2020高会考场上最怕什么?
- java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署
- ubuntu - 安装QQ国际版
- win 10 Tomcat安装教程
- 优秀课程案例:使用Scratch制作俄罗斯方块彩色高级版