2023.3.2 闲话
STAOI 组了一场 Round 2,我感觉除了 T4 都是菜题,Kaguya 太强了 .
做了一下 OJ 上的「二分图」,然而我清晰的记得
(来源:APJifengc)
所以我做那个是「二分图 fake ver.」?或者是原来那个题单是「二分图 hard ver.」现在这个留下的是「二分图 easy ver.」?
不应该是二分图专题被重新开放了吧我觉得 .
今日推歌:无梦之梦 - はるまきごはん feat. 初音ミク
好听的 .
fun fact:在 joke3579 博客中检索「无梦之梦」能搜到 4 个,全站就 5 个无梦之梦几乎全让 joke3579 占了?
今天发现 Cramer's Rule 的 trick 已经有人落实了,呃呃,顿时感觉 trick 已然是 well-known .
Cramer's Rule:
线性方程组 \(A\bm x=\bm b\),解为
其中 \(A_i\) 是把 \(A\) 的第 \(i\) 列改成 \(\bm b\) 的矩阵 .
然后可以自然得到一个 trick:知道矩阵 \(A\),每次改一行或一列为固定向量,那么可以根据 Gauss 消元得到 \(\bm x\) 和 \(\det(A)\),然后算 \(\det(A_i)=\bm x_i\det(A)\) 即可 .
某题:
树形图求和
本题中定义的树形图相当于根向生成树,可以应用 matrix-tree 定理 .
考虑每条边的贡献,就是算钦定一条边选的生成树数量,单步容斥变成某条边不选的生成树数量 .
令图的 Kirchhoff 矩阵去掉一行一列后是 \(K\),则考察去掉一条边 \((u,v)\) 对 \(K\) 的影响是什么,实际上就是 \(K_{u,u}\gets K_{u,u}-1\),\(K_{u,v}\gets K_{u,v}+1\) .
考虑使用 Cramer's Rule 的 trick,因为每次只改一行所以可以算 \(\det(K_i)=\bm x_i\det(K)\),\(\det(K)\) 是平凡的,考虑如何求 \(\bm x\) .
对于 \(A\bm x=\bm b\),考虑不用 Gauss 消元求 \(\bm x\),直接写出 \(\bm x=A^{-1}\bm b\) .
每次 \(\bm b\) 只会改两项,对于每项扫一遍 \(A^{-1}\) 计算贡献即可 .
这样就 \(\Theta(n^3)\) 了 .
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/17171295.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ