线性代数专题

线性代数专题

Problem A. CF963E Circles of Waiting

列出转移柿子,\(f_{i,j}=p1f_{i-1,j}+p2f_{i,j-1}+p3f_{i+1,j}+p4f_{i,j+1}+1\)

直接消元是 \(O(R^6)\) 的。考虑优化,将式子变形,\(f_{i,j-1}=\frac{f_{i,j}-p1f_{i-1,j}-p3f_{i+1,j}-p4f_{i,j+1}-1}{p2}\)

将所有 \((i,j)\) 在圆内且 \((i,j+1)\) 不在圆内的点看作主元,可以得到所有点的主元表示。

然后考虑所有 \((i,j)\) 不在圆内且 \((i,j+1)\) 在圆内的点,满足 \(f_{i,j}=0\),而又知道了 \(f_{i,j}\) 的主元表示,根据这个列方程即可。

\(2R+1\) 个主元,\(2R+1\) 个方程,复杂度 \(O(R^3)\)

https://codeforces.com/contest/963/submission/340355304

Problem B. P5406 [THUPC 2019] 找树

转计数,求权值为 \(w\) 的生成树有多少。

类似普通位运算卷积,构造变换使得 \(FWT(A)_i\cdot FWT(B)_i=FWT(C)_i\),其中 \(C_i=\sum_{j\oplus k=i} A_jB_k\)

先对每条边做 FWT,然后对于每个 \(i\) 矩阵树定理求得 \(FWT(ans)_i\),最后 IFWT 回去即可。

复杂度 \(O(n^32^w)\)

记录详情 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

Problem C. CF1100F Ivan and Burgers

前缀线性基。我们希望每一位贡献的位置尽可能靠后。

对线性基的每一位多维护一位 \(p_i\) 表示这一位是由哪个位置贡献的。假如已经求出 \([1,r]\) 的线性基,我们希望 \(p_i\ge l\) 的位置构成 \([l,r]\) 的线性基。

插入 \(x\) 时,从高到低考虑,若 \(x\) 的第 \(i\) 位有值,则将线性基的第 \(i\) 位替换出来继续插入。这样保证 \([r,r]\) 的线性基时正确的,而且不影响前面的 \(l\)

离线后可以做到 \(O((n+q)\log V)\)

Submission #341019467 - Codeforces

posted @ 2025-10-01 10:38  XP3301_Pipi  阅读(7)  评论(0)    收藏  举报
Title