模拟赛

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\) 个待匹配单边的方案数,转移看代码,懒得抄了。

posted @ 2025-07-22 18:45  incra  阅读(10)  评论(0)    收藏  举报