学会清单
以后每学会一个新的知识点都要记录下来!方便有需要的时候复习!QAQ
复习的时候也要记得复习做题技巧整理!!!!
啥时候退役了就公开,算是一篇从初三开始为期数年的OI游记吧。
有些之前学的知识点我会找时间再补充的。
2023.3.1
1.拓扑模板:
- 若事件
A 要在事件B 之前完成,则建立一条A->B 的有向边。 - 一开始将入度为零的点存入队列,每弹出队列中的一个点时就将其连接的点入度减少1,若出现新的入度为零的点,则继续加入队列。
- 若最终队列为空且图中的每一个点都进入过队列,则该图无环;否则图中有环。
例题
2023.3.7
今天模拟赛考了期望,果不其然,又双叒不会算了......
- 概率:(对于一种事件来说)在所有情况中发生的次数/总情况数
- 期望:(对于一种事件中的一个对象来说)该对象在所有情况下被衡量的值的总和/总情况数
求期望:
求法一:
-
E(A)=\sum\limits_{P(A_i)!=0}Value_i\times P(A_i)
其中
求法二:
对于每一个等概率事件,若该事件对我们要求期望值的对象的影响是独立的,也就是不受别的事件影响的,那么我们可以直接将求解期望的对象与每一个等概率事件组合,求解在二者的组合中等概率事件对求解对象的期望值的贡献,然后再相加,其实也可以得到求解对象的期望值。
- 对于任意两事件
A,B 来说,E(A+B)=E(A)+E(B) 。 - 对于两个相互独立的事件来说,
E(A \cdot B)=E(A)\times E(B) 。
2023.3.8
- 二项式定理:
对于一个
且我们易得下式:
2023.3.9 有些东西记错到做题技巧哪里去啦!!!QAQ
组合数递推求解
例题:方格计数(组合计数)
组合数取模
-
$$\text{C}_\text{n}^\text{m} \% \text{p}=\text{C}_{\text{n} \% \text{p}}^{\text{m}\%\text{p}}\times\text{C}_{\text{n} \ / \text{p}}^{\text{m}\ /\text{p}}$$
哥德巴赫猜想
-
对于一个大于2的整数来说,它一定可以分解为三个质数的和。
-
对于一个大于2的偶整数来说,它一定可以分为两个质数的和。
例题:划分
角谷猜想
-
对于一个正整数
n ,若它为奇数,则将其变为3*n+1 ;若它为偶数,则将其变为\dfrac{n}{2} 。那么最终n 会变为1 。 -
对于一个负整数,则进行同上操作,最后可以得到
-1/-5/-17 。 -
对于
0 ,角谷猜想无用。 -
若一道题要考察角谷猜想,它大概率会给出多种操作,并且给出操作进行反操作后就是角谷猜想的两种操作了。
-
所以当我们见到类似
\frac{n-1}{3} /\text{n*2} 的操作时我们要第一时间想到角谷猜想。
例题:空间跳跃
黎曼猜想
所有正整数都可表示为若干质数的乘积。
二维树状数组の求区间和式子推导
式中的
设
所以当我们要做二维树状数组区间求和操作时,我们一共要定义四个二维数组,它们的值分别为上面的多项式中求和符号后的那个单项式。
例题:P4514 上帝造题的七分钟
2023.3.10
- 对于计算杨辉三角中每一行的和,我们有下式:
- 于是对于计算杨辉三角前n+1行所有元素的和,我们可使用下式:
- 运用等比数列求和公式:
Sum_n=\dfrac{a_1\cdot (1-q^n)}{1-q}
其中
- 我们就可以进一步推导上面的和式:
于是我们最终得到杨辉三角局部三角形求和公式:
例题:P7976 「Stoi2033」园游会
2023.3.14
离散化
-
离散化操作必须为离线操作。
-
先将需要离散化的值存入数组中,然后求取去重后的序列长度,然后再用
lower\_bound 操作求原数离散化后的值。 -
离散化操作相当于将每一个数字替换(也可以称作映射)为该数在原数组中的排名。(从小到大)
例题:
-
板题:P1496 火烧赤壁
-
权值线段树+离散化:P3369【模板】普通平衡树
权值线段树
板题代码(带易错细节)
2023.3.15
状压DP
- 看到数据范围极小时不是签到就是状压。
板题代码(注意复习细节)
2023.3.21
拉格朗日插值法
现有一个多项式
那么我们只需要
我们将代入
那么对于任意实数
模板代码( O(n^2) 做法)
2023.3.21
树剖求LCA
模板代码(记得复习细节)
2023.3.28
2023.3.30
几何中的三种两点距离求法:
在同一几何空间中有两点坐标如下:
-
欧式距离:
-
曼哈顿距离:就是两点互相到达只走直线路径的最短路。
-
切比雪夫距离:
A^* 算法:Blog
- 概述:一种加了估值剪枝的搜索,在搜索过程中若该状态加上其估值得到的值大于我们的预期值,则直接将其剪枝掉。
估值
=g(i)+h(i) 。- 其中
g(i) 表示转移到当前状态需要的代价(该代价确定)。 -
- 其中
ID 算法:Blog
- 从0开始枚举dfs的最大层数界,然后用dfs验证在此最大层数界内是否可以达到目标状态。
- 若可以,则当前枚举到的层数界即为到达目标状态的最小操作数。
- 时间复杂度相当于
bfs ,空间复杂度相当于dfs 。
网络流
EK
-
代码(记得复习细节)
Dicnic -
代码(记得复习细节)
线性基
-
代码