感觉好像有点菜的流脓了,绷。
I:
直接拓扑排序,存个二元组计算一下取max即可。
C:
观察一下就是子树 $\sum_i w_i$ 和 $siz_i$ 的叉积,直接sort子树即可
E:
神笔规律
B:
先做一个AC自动机,然后考虑枚举每个串在自动机上跑,从结束的地方开始跳fail,就是 $C^{dep}*|自动机上子树endpos|$ 用bit维护自动机的dfs序,加了这一次之后先删去子树贡献,避免算重,然后再加回来。
J :
观察一下所有数如果 $min_p\le n/2$ ,那么可以 $->min_p->min_p*2->2$,所以只需要考虑去掉大于 $n/2$ 的质数,就是min25维护质数和,质数平方和。
F:
每次删一个生成树即可。
H:
先不考虑顺序做一次,找到最大答案,然后每次枚举一个人,看这个人先能不能选到最大答案时候的方案。就行