行列式
基础
概念
n 阶行列式
∣∣
∣
∣
∣∣a11a12...a1na21a22...a2n.........an1an2...ann∣∣
∣
∣
∣∣
完全展开式 ∑j1j2...jn(−1)τ(j1j2...jn)a1j1a2j2...anjn
τ 指逆序对数
性质
- 经过转置后,行列式的值不变,即 |AT|=|A|
- 两行或两列互换位置,行列式 ×−1
- 把某行(列)的 k 倍加到另一行(列),行列式的值不变
- 某行(列)有公因子 k 可提到行列式外
- 行列式的某行(列)是两个元素之和,可把行列式拆成两个行列式之和
通过性质23,我们可以完成高斯消元,把矩阵变成上三角矩阵,容易发现,上三角矩阵的行列式就是对角线上的数的乘积(通用计算方法)
性质45的证明:
![]()
![]()
Laplace展开
- 余子式(minor):Mij ,表示去掉第 i 行和第 j 列的 n−1 阶行列式
- 代数余子式(cofactor): Aij=(−1)i+jMij
|A|=∑nk=1aikAik,i=1,2,...,n
特殊的:
∣∣∣A∗OB∣∣∣=∣∣∣AO∗B∣∣∣=|A|⋅|B|, ∣∣∣OAB∗∣∣∣=∣∣∣∗ABO∣∣∣=(−1)mn|A|⋅|B|
范德蒙德行列式
∣∣
∣
∣
∣
∣
∣∣11...1x1x2...xnx21x22...x2n............xn−11xn−12...xn−1n∣∣
∣
∣
∣
∣
∣∣=∏1≤j<i≤n(xi−xj)
例题
【2021集训队互测一】愚蠢的在线法官
题目大意
给定树的形态,数组 A,v,求
∣∣
∣
∣
∣
∣∣vLCA(A1,A1)vLCA(A1,A2)⋯vLCA(A1,An)vLCA(A2,A1)vLCA(A2,A2)⋯vLCA(A2,An)⋮⋮⋱⋮vLCA(An,A1)vLCA(An,A2)⋯vLCA(An,An)∣∣
∣
∣
∣
∣∣
solution
首先 A 中若有重复,其行列式一定为0
然后交换两个 A ,相当于交换一行和一列,行列式不变
所以考虑在树上进行行列式的合并
我们需要处理的是
∣∣∣AVVB∣∣∣
A,B是两个需要合并的行列式, V 表示全是 vk 的矩阵(需要合并的两棵子树的LCA是固定的)
如何求呢?
令 |A|s 表示把 A 任意一行改成1的行列式的和,At 表示把 A 矩阵中的每个元素 −t
考虑用上面的性质45证明一个东西:
|A|=|At|+t|A|s
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验