Loading

1.12 CW 模拟赛 T2. 矩阵删除

思路

赛时的想法是对于每一行维护本质相同的操作, 因为并集的原因基本上没法优化到 \(\mathcal{O} (n^4)\) 以下, 所以弃掉

考虑令 \(f_{i, j}\) 表示第 \(i\) 行删除 \(j\) 列的方案数, 显然会算重
考虑去重
\(g_{i, j}\) 表示删除 \((i, j)\) 和删除 \((i, j - 1)\) 算重的方案数
\(s_{i, j} = s_{i, j - 1}\) 时有转移

\[g_{i, j} \gets \sum_{p = j - k}^{j + k - 1} f_{i - 1, p} - \sum_{p = j - k + 1}^{j + k - 1} g_{i - 1, p} \]

其中 \(\displaystyle \sum_{p = j - k}^{j + k - 1} f_{i - 1, p}\) 表示都考虑到了的区间, \(\displaystyle \sum_{p = j - k + 1}^{j + k - 1} g_{i - 1, p}\) 表示区间中等价的数量

考虑 \(f\) 的转移

\[f_{i, j} \gets \sum_{p = j - k}^{j + k} f_{i - 1, p} - \sum_{p = j - k + 1}^{j + k} g_{i - 1, p} \]

其中 \(\displaystyle \sum_{p = j - k}^{j + k} f_{i - 1, p}\) 表示应当考虑到的区间, \(\displaystyle \sum_{p = j - k + 1}^{j + k} g_{i - 1, p}\) 表示区间中等价的数量

总结

一类去重题, 不具有广泛性, 看看就好
具体的, 只有对于这种可以计算出相邻两个 \(f\) 重了多少的才能使用这种方法

posted @ 2025-01-12 20:56  Yorg  阅读(17)  评论(0)    收藏  举报