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:

线性方程组 Ax=b,解为

xi=det(Ai)det(A)

其中 Ai 是把 A 的第 i 列改成 b 的矩阵 .

然后可以自然得到一个 trick:知道矩阵 A,每次改一行或一列为固定向量,那么可以根据 Gauss 消元得到 xdet(A),然后算 det(Ai)=xidet(A) 即可 .

某题:

树形图求和


本题中定义的树形图相当于根向生成树,可以应用 matrix-tree 定理 .

考虑每条边的贡献,就是算钦定一条边选的生成树数量,单步容斥变成某条边不选的生成树数量 .

令图的 Kirchhoff 矩阵去掉一行一列后是 K,则考察去掉一条边 (u,v)K 的影响是什么,实际上就是 Ku,uKu,u1Ku,vKu,v+1 .

考虑使用 Cramer's Rule 的 trick,因为每次只改一行所以可以算 det(Ki)=xidet(K)det(K) 是平凡的,考虑如何求 x .

对于 Ax=b,考虑不用 Gauss 消元求 x,直接写出 x=A1b .

每次 b 只会改两项,对于每项扫一遍 A1 计算贡献即可 .

这样就 Θ(n3) 了 .

posted @   yspm  阅读(110)  评论(5编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
😅​
点击右上角即可分享
微信分享提示