用高斯消元解决一部分期望问题 学习笔记

本文探讨了如何利用高斯消元法解决动态规划中遇到的状态转移顺序混乱问题,尤其是在求解期望和概率时。通过将状态转移方程转化为线性方程组,再借助高斯消元法求解,有效地处理了相互依赖的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用高斯消元解决一部分期望问题 学习笔记


这个东西想搞好久了 今天看了下 就写个学习笔记吧.


dp序

dp序是dp的所有状态的一个排列,使状态x所需的所有前置状态都位于状态x前

dp序不唯一 比如 DAG、子树转移....


高斯消元解决dp序混乱的期望/概率问题

为什么可以乱序?

乱序即指u,v两个状态可以互相转移

普通的dp一般是不会出现这样的情况的

不过有这种情况的大多是求最值 也是可以跑spfa的

那么涉及期望/概率这样的问题想法则不同

两个状态互相转移 增量会不断减小 趋近无穷小的时候就认为值时确定的

显然疯狂迭代是一种方式 但是我们当然是是考虑要讲解的方法 高斯消元

本质上.

就是把所有的转移都移项到同一侧

之后就愉快的发现变成了n元一次方程组

高斯消元一顿解就行了


栗题

[Hnoi2013]游走

[HNOI2011]XOR和路径 (请使用ctrl+F)

<think>好的,我现在需要帮助用户了解算法竞赛中常用的数学基础概念和公式。用户提到参考了三个引用内容,我需要结合这些资料来整理答案。 首先,引用[1]提到《算法竞赛入门经典》的补充内容,包括数学基础章节,涉及数论、组合数学等。引用[3]的笔记提到了位运算、快速幂、状态压缩等内容。这些应该是数学基础中的重要部分。 接下来,我需要确定算法竞赛中常见的数学知识点。根据我的知识,数论、组合数学、概率与统计、线性代数、几何以及位运算相关的数学都是常见的。需要每个部分列出关键概念和公式。 数论方面,质数判断、欧几里得算法、模运算、欧拉定理、中国剩余定理都是基础。组合数学包括排列组合、容斥原理、生成函数。概率与统计可能需要期望和方差的计算。线性代数中的矩阵快速幂用于加速递推,高斯消解方程组。几何部分涉及点线面的计算,凸包算法。位运算相关的快速幂、状态压缩技巧也很重要。 然后,要确保所有数学表达式使用正确的LaTeX格式,行内用$...$,独立公式用$$...$$。例如,质数判断的试除法条件写成$2 \leq d \leq \sqrt{n}$,欧几里得算法写成$\gcd(a,b) = \gcd(b, a\bmod b)$。 还要生成相关问题,参考示例中的结构,可能的问题包括数论应用、组合数学优化方法、矩阵快速幂的应用等。需要确保问题与内容相关,并引导深入学习。 最后,检查引用标注是否正确,每个引用在回答中适当的位置标注,例如质数判断部分引用[1],位运算部分引用[3]。同时,保持回答结构清晰,分点列出,便于用户理解。</think>### 算法竞赛中的数学基础概念与公式 算法竞赛中的数学知识是解题的核心工具之一,尤其在优化算法、推导公式、处理复杂逻辑时尤为重要。以下是常见的数学基础概念和公式分类整理: --- #### 1. **数论基础** - **质数与筛法** 判断质数的试除法条件:$2 \leq d \leq \sqrt{n}$ 埃拉托斯特尼筛法时间复杂度:$O(n \log \log n)$ 欧拉筛法(线性筛)时间复杂度:$O(n)$[^1] - **最大公约数(GCD)与扩展欧几里得算法** 欧几里得算法:$\gcd(a,b) = \gcd(b, a \bmod b)$ 贝祖定理:$ax + by = \gcd(a,b)$ 有整数解 - **模运算与同余方程** 快速幂公式:$a^b \bmod p = (a^{b/2} \cdot a^{b/2}) \bmod p$(递归分治) 欧拉定理:若 $\gcd(a,m)=1$,则$a^{\phi(m)} \equiv 1 \pmod{m}$,其中$\phi(m)$为欧拉函数 - **中国剩余定理(CRT)** 求解同余方程组: $$x \equiv a_1 \pmod{m_1}, \quad x \equiv a_2 \pmod{m_2}, \quad \cdots$$ 当$m_i$两两互质时,存在唯一解 --- #### 2. **组合数学** - **排列与组合公式** 组合数公式:$C(n,k) = \frac{n!}{k!(n-k)!}$ 递推关系:$C(n,k) = C(n-1,k) + C(n-1,k-1)$ 卢卡斯定理(大组合数取模):$C(n,k) \equiv \prod C(n_i,k_i) \pmod{p}$($n_i,k_i$为$n,k$的$p$进制分解) - **容斥原理** 计算并集大小: $$|A_1 \cup A_2 \cup \cdots \cup A_n| = \sum |A_i| - \sum |A_i \cap A_j| + \cdots + (-1)^{n+1}|A_1 \cap \cdots \cap A_n|$$ - **生成函数** 普通生成函数(OGF):$G(x) = \sum a_n x^n$ 指数生成函数(EGF):$G(x) = \sum \frac{a_n}{n!} x^n$ --- #### 3. **概率与期望** - **期望线性性** $E[X+Y] = E[X] + E[Y]$(即使$X$和$Y$不独立) 常见应用:几何分布期望(成功概率$p$,期望试验次数$\frac{1}{p}$) --- #### 4. **线性代数** - **矩阵快速幂** 用于加速递推关系(如斐波那契数列): $$F(n) = F(n-1) + F(n-2) \Rightarrow \begin{pmatrix} F(n) \\ F(n-1) \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}^{n-1} \begin{pmatrix} F(1) \\ F(0) \end{pmatrix}$$ 时间复杂度优化为$O(\log n)$[^3] - **高斯消** 解线性方程组,时间复杂度$O(n^3)$,常用于概率问题或几何问题 --- #### 5. **几何基础** - **向量运算** 点积:$\mathbf{a} \cdot \mathbf{b} = |\mathbf{a}||\mathbf{b}|\cos\theta$ 叉积:$\mathbf{a} \times \mathbf{b} = |\mathbf{a}||\mathbf{b}|\sin\theta$(用于判断方向) 凸包算法(Graham扫描法)时间复杂度:$O(n \log n)$ --- #### 6. **位运算与状态压缩** - **快速幂与二进制拆分** 利用二进制分解指数:$a^b = a^{2^{k_1}} \cdot a^{2^{k_2}} \cdot \cdots$ 例如:$3^{13} = 3^8 \cdot 3^4 \cdot 3^1$(13的二进制为1101) - **状态压缩DP** 用二进制位表示状态,例如最短哈密顿路径问题: 状态定义:$dp[mask][i]$表示经过点集$mask$且终点为$i$的最短路径[^3] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值