晚测9
晚测9
T1
考虑每个点贡献多少次然后单调栈计算。
T2
考场上以为Bitset有七十但是最后几分钟才发现不对,然后就挂了。
可以建出一个交树和一个并树,交树上,一个点是另一个点的子集当且仅当这个点是那个点的父亲,并树相反,不过对于\(k=1\)的情况需要特判,并且在下边查询的时候需要查询两棵树。
Bitset不对的原因是两个集合与在一起可能是空集,但是事实上并不是空集,考后自己yy可以给每个集合随机赋值,但是还是有错的可能,所以还是写正解吧。
int - > long long
0 - > 100