A
注意到选了一个点它的子树内所有节点都会被选 因为子树深度大对答案贡献更大
每个点选择的贡献是\(dep-size\)
按\(dep-size\)排好序然后做就行了
B
这题我都不会做...
先假设\(x\le y \le z\) 把三个数组排序然后用指针扫一下
然后\(3!\)枚举一下三个数大小关系
C
\(f(l,r)\)表示用\(s_{1\cdots r-l+1}\)拼出\(t_{l\cdots r}\)方案数 (对于\(i>|t|\)可为任意字符)
可以做到\(O(n^2)\)
D
神仙交互…… 我直接把别人题解粘过来吧
https://yaoduwaterpen.blog.luogu.org/solution-cf1336d
E1
我只会通过看题解的方式写出来easy version hard version连题解都看不懂 不要问我为什么这么菜
有一个线性基的性质:假如线性基大小\(|S|\) 线性基组合出来的\(2^{|S|}\)种数出现次数均为\(2^{n-|S|}\)
考虑折半搜索 线性基分成高位和低位分别暴力\(2^{|S|}\)枚举
枚举高位的popcount
然后与低位的线性基fwt
E2
不会……
F
orz hujiaqi
考虑一个计数转化: [len>=k]=(k-子链个数)-(k+1-子链个数)
现在要做的就是统计每个长度为k的链被覆盖几次
考虑把所有k-子链按照树剖dfs序写在二维平面上 只有log段 我用map维护的……
原文:https://www.cnblogs.com/misaka10047/p/13209970.html