行列式 Ex
海森堡矩阵行列式
上海森堡阵是满足其次对角线下的值都为 0,即只有 i≤j+1 处的 ai,j 的矩阵。
上海森堡阵的行列式可以 O(n2) DP 求解,因为在这个矩阵中选择一个不含 0 的排列,一定满足会形成如下形式:x,1,2,…,x−1∣y,x+1,…,y−1∣…,即若干个区间的环拼接起来。于是我们直接 DP,fi 表示 [1,i] 构成若干个环的方案权值和,那么 fi=∑j(−1)j−ifjgj+1,i,其中 gl,r=al,r∏ri=l+1ai,i−1.
特征多项式
对于方阵 A,定义其特征多项式 pA(λ)=det(λIn−A)。
对于方阵 A,B,若存在初等可逆矩阵 P 满足 B=PAP−1,那么称 A,B 互为相似矩阵。
相似矩阵特征多项式相同。
证明:
pB(λ)=det(λI−PAP−1)=det(λPIP−1−PAP−1)=det(P(λI−A)P−1)=det(P)det(λI−A)det(P−1)=pA(λ)
任意一个方阵,都可以找到一个海森堡矩阵与其相似。
消元方法:考虑我们在消元(构造 P)的同时,算上 P−1 带来的贡献。我们进行消元的时候会进行行变换:Ri:=Ri+kRj,那么其对应右乘 P−1 带来的变换就是列变换 Cj:=Cj−kCi;类似的,交换 Ri,Rj 的操作,对应右乘 P−1 带来的变换就是交换 Ci,Cj。我们若怀着消成海森堡阵的目标,容易发现列变换不会造成什么影响。
于是普通方阵求特征多项式只需要先变消成一个上海森堡阵,然后再 DP 出其特征多项式即可。
对于上海森堡阵,就很好做了,直接对上述 DP 进行一个修改,得到 pi=λpi−1−∑jpjgj+1,i。
https://judge.yosupo.jp/submission/199210
A+Bz 行列式
首先我们可以用求特征多项式一样的方法求出 det(A+Inz)(代 Ai,j=−Ai,j 就是特征多项式)。
于是对于 A+Bz,考虑把 B 消元成 In。但是有可能 B 不满秩,那么就无法消成 In。这种情况下,考虑一个操作:将这一行乘上 z,即把这一行从 RA+RBz 变成 RAz+RBz2,由于 RB 处满足该行该列为 0 所以不产生贡献,所以就变成了 RAz,然后再进行消元。然后我们不断这样做,直到 Bi,i≠0,或者乘的 z 的个数 >n。
https://qoj.ac/submission/368908
范德蒙德行列式
考虑方阵 ai,j=xji,0≤i,j<n,那么其行列式为 ∏0≤i<j<n(xj−xi)。
可以归纳得证。
神秘题 1
(忘了出处的模拟赛)给定常数 c,矩阵 a 满足对于 i=j 有 ai,j=1,i≠j 时 ai,j=c×[i∤j],求其行列式。n≤1011。
注意到一个下三角全为 c,所以考虑直接差分,ai,j=ai,j−ai−1,j,得到一个上海森堡阵。然后我们直接 DP,得到 fi=∑j<ifj−1(c−1)i−j(−1)i−jcaj,i+fi−1(1−c),令 hi=fi(c−1)−i(−1)i,那么有 hi=∑j<icaj,ihj−1+hi−1。令 gi=hi−hi−1,那么 gi=∑j<icaj,ihj−1,带入题目中的矩阵得到 gi=c∑j<i([j∤i]−[j−1∤i])hj−1=c(hi−2−∑j<i−1[j∤i]gj)=c∑j∣i,j<i−1gj,可以发现 g 是 [0,c,c,…] 的迪利克雷逆,所以直接杜教筛即可。
神秘题 2
目前隐藏
本文作者:LarsWerner
本文链接:https://www.cnblogs.com/TetrisCandy/p/18100030
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步