agc060f 题解

这道题的思想是很巧妙的啊~ 我没有想到第一步转化。

官方题解写得比较简略,我来补充一些细节好了。

假定读者有基本的线性代数知识,没有的话可以查阅相关资料。当然还要知道矩阵树定理。

约定:

\(S=\sum_{1\le i\le j\le n}C_{i,j}\)​,我们给所有顶点按任意顺序编号 \(1\)\(S\)\([l_i,r_i]\) 代表编号为 \(i\) 的点对应的区间。

\(A\)​ 代表原图的度数矩阵,\(B\)​ 代表邻接矩阵,\(\widehat{A},\widehat{B}\)​ 分别代表 \(A,B\)​​ 去掉最后一行和最后一列得到的矩阵。为方便起见我们假设原图中存在自环,这个假设是自然的,而且它并不影响答案。

\([p]\) 代表命题 \(p\) 的真值函数,\(p\) 为真时 \([p]=1\)\(p\) 为假时 \([p]=0\)

\(E,O\) 分别代表单位矩阵和零矩阵,它们的阶数在特定语境下是确定的。


考虑构造 \(\widehat{B}=PQ\),下述矩阵 \(P\)\(Q\) 是满足条件的:

\(P\)\(S-1\)\(2N-1\) 列矩阵,\(Q\)\(2N-1\)\(S-1\) 列矩阵,且

\(P_{i,2j-1}=[j\in [l_i,r_i]],P_{i,2j}=[[j,j+1]\subseteq [l_i,r_i]]\)

\(Q_{2i-1,j}=[i\in[l_j,r_j]],Q_{2i,j}=-[[i,i+1]\subseteq[l_j,r_j]]\)

考虑矩阵 \(\begin{pmatrix}E&Q\\P&\widehat{A}\end{pmatrix}\)​​,其中 \(E\) 代表 \(2N-1\) 阶单位矩阵。我们有

\[\det\begin{pmatrix}E&Q\\P&\widehat{A}\end{pmatrix}=\det\begin{pmatrix}E&Q\\P&\widehat{A}\end{pmatrix}\det\begin{pmatrix}E&-Q\\O&E\end{pmatrix}=\det\begin{pmatrix}E &O\\P&\widehat{A}-PQ\end{pmatrix}=\det\left(\widehat{A}-PQ\right) \]

这就是我们想要的答案。

考虑如何算这个东西,我们有

\[\det\begin{pmatrix}E&Q\\P&\widehat{A}\end{pmatrix}=\det\begin{pmatrix}E&-Q\widehat{A}^{-1}\\O&E\end{pmatrix}\det\begin{pmatrix}E&Q\\P&\widehat{A}\end{pmatrix}=\det\begin{pmatrix}E-Q\widehat{A}^{-1}P& 0\\P&\widehat{A}\end{pmatrix}=\det\left(E-Q\widehat{A}^{-1}P\right)\det\left(\widehat{A}\right) \]

\(\det\left(\widehat{A}\right)\) 是好算的,它就是个对角矩阵,\(E-Q\widehat{A}^{-1}P\) 同样是可以快速算的。

总复杂度就是求行列式复杂度 \(O(N^3)\)

posted @ 2024-02-24 04:33  TianyiLemon  阅读(80)  评论(0)    收藏  举报