[集训整理]QBXT - DP - DAY4
#1.0 简单整理
#1.1 概率/期望 基础
条件概率 是指事件 \(A\) 在另外一个事件 \(B\) 已经发生条件下的发生概率。条件概率表示为:\(P(A|B)\),读作 “在 \(B\) 的条件下 \(A\) 的概率”。有 \(P(A|B)=\dfrac{P(AB)}{P(B)}.\)
贝叶斯公式: \(P(A|B)=\dfrac{P(B|A)P(A)}{P(B)}.\)
全概率公式: \(P(B)=\sum\limits_{i=1}^nP(B|A_i)P(A).\)
期望(离散): \(E[X]=\sum\limits_{i=1}^nP[X=x_i]\cdot x_i\) 为事件 \(X\) 的期望。
期望(连续): 设连续性随机变量X的概率密度函数为 \(f(x)\),若积分绝对收敛,则称积分 \(\int_{-\infty}^\infty xf(x)dx\) 的值为随机变量的数学期望(OI 基本用不上).
- \(E[aX]=aE[X], a\) 为常数;
- \(E[X+Y]=E[X]+E[Y]\)(期望的线性性);
做 DP 题的常用策略:拆分贡献
#1.2 数位 DP
数位 DP 本质上是对于数上每一位的 DP,是一类计数型 DP,状态设计是 f[i][j][0/1][0/1]
,f[i][j][0/1][0/1]
表示第 \(i\) 位,\(j\) 是与题目有关,是否顶上界,是否为前导0。
#1.2 考试策略
#1.2.1 打表
因为上传文件有大小设置,故不能完全打表,在每个数不超过 \(10^9\) 时,最多打 \(6000\) 个数的表,那么可以 分块打表。
#1.2.2 暴力搜索
- 卡时:
int cnt = 0;
void dfs(...){
if (++ cnt > LIMITS) exit();
}
- 剪枝+搜索
- 不要用 SPFA
#1.2.3 DEBUG
- 输出中间变量
- 遇 RE,注释段查找错误
- 调试时多思考为什么错,认真从头到尾看一遍