模拟赛
T1
考虑 bitset。
注意到你完全可以较大的那个点,然后把较小的用 bitset 异或上去即可。
注意如果 \(i,j\) 都在 \(x,y\) 中会被异或两次,需要特殊处理。
T2
记 \(a\) 的前缀和是 \(s\),考虑检查 \(x\) 是否合法,注意到一个区间合法当且仅当 \(\dfrac{s_r-{s_l-1}}{l-1}\ge x\),即 \(s_r-x\times r\ge s_{l-1}-x\times (l-1)\),所以这个就是一个 LIS 板子。
赛时被卡常了。
T3
感觉题解思路很不自然啊。
对于每个点考虑拆贡献,把每个点周围的边都拆成两条边,答案就是选若干不在同一侧的边匹配的方案数的乘积除以 \(2^{n-1}\)。(还不是很懂,感性理解吧)
考虑每一个点的贡献,设 \(f_{i,j}(j\le 2)\) 表示已经匹配了 \(i\) 对,剩余 \(j\) 个待匹配单边的方案数,转移看代码,懒得抄了。

浙公网安备 33010602011771号