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}\).

\[f_{i,j,k}\leftarrow f_{i-1,j,k}+f_{i,j-1,k}-f_{i,j,k-2} \]

对于 \(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\).

一个性质是

\[\operatorname{lca}(root,u)\operatorname{xor}\operatorname{lca}(root,v)\operatorname{xor}\operatorname{lca}(u,v)=\operatorname{lca}_{root}(u,v) \]

这样就能做了。发现每次询问一个矩阵。树分块,记块长为 \(B\).

把各整块和散块之间的贡献算出来,可以差分。

后面的听不懂了。

\(O(\frac{n^2}{B})\)\(O(qB^2)\) 平衡,取 \(B=\sqrt[3]{n}\).


C

多次询问

\[\sum_{L\le i\le j\le R}[\gcd(a_i\sim a_j)=D] \]

\(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}\) 的方案,使得

\[\forall i\in[1,n],\prod_{j=1}^{n}\frac{x_{i,j}}{y_{i,j}}\cdot\frac{y_{j,i}}{x_{j,i}}=1 \]

或报告无解。

\(n\le 100\).

考虑每个质因子的贡献。

将一个 \(p\) 分配到 \(x\) 会使左边的式子的 \(p\)\(+1\),右者 \(-1\).

考虑给每条边定向,使得我们要的点入度等于出度。

跑一遍欧拉回路。

posted @ 2023-08-23 18:51  SError  阅读(9)  评论(0编辑  收藏  举报