2023.8.23
我觉得 \(A\) 和 \(C\) 还是能做一点的。就是考场上太劣了去找 ABC 写了。
A
在 \(n\times m\) 的矩阵中放一条长为 \(k\) 的蛇,其中一些位置有限制。蛇有顺序之分,问总方案数。
\(n,m\le 3000\),\(k\le 6\).
\(Sol1\):考虑对每个 \(k\) meet-in-middle 然后容斥。
基老师的代码循环展开后代码 11k,最大点 700ms.
\(Sol2\):记录状态 \(f_{i,j,k}\).
对于 \(k=5,6\) 时处理一下。
B
给出一棵树,多次询问,给出 \(root,l_1,r_1,l_2,r_2\),问以 \(root\) 为根时,对于所有 \(x\in[l_1,r_1],y\in[l_2,r_2]\),\(\operatorname{lca}(x,y)\) 的异或和。
\(n,q\le 5\times 10^4\).
一个性质是
这样就能做了。发现每次询问一个矩阵。树分块,记块长为 \(B\).
把各整块和散块之间的贡献算出来,可以差分。
后面的听不懂了。
把 \(O(\frac{n^2}{B})\) 和 \(O(qB^2)\) 平衡,取 \(B=\sqrt[3]{n}\).
C
多次询问
\(n\le 10^5\),\(q\le 5\times 10^4\),\(a_i\le 10^6\).
和前天的比赛题差不多,虽然我不会。
\(Sol1\):对 \(D\) 相同的一起考虑。
需要支持区间改,前缀和,用两个 BIT。
\(Sol2\):扫描线。
D
给出一种将 \(a_{i,j}\) 划分为 \(x_{i,j}\times y_{i,j}\) 的方案,使得
或报告无解。
\(n\le 100\).
考虑每个质因子的贡献。
将一个 \(p\) 分配到 \(x\) 会使左边的式子的 \(p\) 处 \(+1\),右者 \(-1\).
考虑给每条边定向,使得我们要的点入度等于出度。
跑一遍欧拉回路。