Loading

模拟54—「选择·表格·黑白·打怪」

选择

考试的时候调了好久才调出来,因为一开始没考虑除掉链之后子树内的其他贡献。
其实我这个方法是暴力把链上的情况扩展到树上的。

就是在每个点记录他的所有子树,枚举谁连了边,计算出来每一对子树的贡献。
当然还需要计算出来每一棵子树的贡献。

如果有了这些,就可以状压合并信息了。

当然计算子树的时候除了几个显然的部分,还需要加上在子树中除掉链以外的其他部分,这个东西是个简单的递推。
\(f_{x,y}\) 代表 \(x\) 子树中除掉到 \(y\) 的链的部分以外其他的答案,每次加上不在子树里的其他东西就行了。

表格

首先柿子很好推,选出来一个 \(i,j\) 的矩形的的方案乘上这个矩形内的贡献。

然后就是优化,发现把柿子写到一起,会找到规律,就是他是一个多项式。
所以可以直接带入几项然后把多项式的系数解出来,注意要解就解一个解完之后能直接算的。
需要用谁就解谁,注意边界的判断。

这个万一是个感觉有点用的技巧,只要答案可以表示成多项式就可以直接莽。

次数高了可以拉格朗日插值,次数低就解系数,高斯消元就可以实现。

黑白

博弈论,咕了。

打怪

凸包,咕了。

总结

一场神仙题,T1好不容易做出来没注意 \(m \leq n^2\) ,然后数组开小了。
以后检查数组一定要一个一个带入数据范围里面去查。

posted @ 2021-09-17 06:35  Soresen  阅读(36)  评论(0)    收藏  举报