时间安排
8.30~9.00
T2本质不同的只有\(O(n)\)个集合,所以有个很显然的\(O(n^2\log n)\)的做法。
9.00~10.00
T1等价于是二分图多重匹配,因为右部点个数少,可以直接Hall定理判断。
保险起见先写了个\(nm\)的。
10.00~10.30
写了T3的\(O(n^5)\)暴力。
10.00~11.30
T1试了倍增,莫队,分组等几种方法。
但是要么空间不够,要么常数太大,总之很难受。
12.30~12.45
T1好像也可以用树剖维护,对于每个点维护重链前缀值可以做到一个log。
12.45~13.30
突然发现T2可以直接枚举答案,用线段树维护,就是1个log。
写的过程中发现要去重,写了个烂大街的Xor-Hash。
最后2min写完,测了大样例结果过不去,最后意识到测的是最初的有错的大样例,测了一下新的结果就对了。
考试总结
T1
暴力过了就很离谱。
T2
早知道把错的大样例直接删了,太亏了。
T3
看见了每个点度数相等的限制,但是忘了是个无向图,以为是若干基环树。
正解是考虑其实每个点本质相同,因此可以直接对每个点选择或者不选择计数。
考虑用整数概率公式,然后就变成有上界的不定方程解数,然后又是烂大街的容斥。
最后因为都是下界的限制所以下界乘个数小于等于n,因此是一个log的。