20260117模拟赛
20260117模拟赛
染色
考虑最大的集合 \(S\) 如果是蓝色,则存在 \(x\in S\) 使得所有 \(x\in T,T\subseteq S\) 的 \(T\) 都是蓝色。
因为如果不存在这样的 \(x\),则对于每个 \(x\) 可以找到一个集合 \(P(x)\) 使得 \(x\in P(x)\) 且 \(P(x)\) 是红的,那么 \(\cup_{x\in S} P(x)=S\) 是红的。这出现矛盾。
枚举这个 \(x\),将所有 \(T\) 设为同一个颜色,去掉所有 \(T\) 后剩下的集合和 \(x\) 没有关系,这是一个子问题。
信号过滤
\(m=1\) 是对于每个频率只会加入一次,用链表和并查集维护并快速找到哪些频率还没加入,询问是二维偏序状物,树状数组维护复杂度单 \(\log\)。
-
当 \(m\) 比较大时每个 \(m\) 都需要把频率加入一遍复杂度变成 \(nm\),考虑根号分治。如果这个滤波器的操作数大于 \(\sqrt q\) 则进行加入频率的算法,注意此时应当用分块平衡询问和修改复杂度,总复杂度 \(O(n\sqrt n)\)。
-
每个询问可以看做是对于每个值域连续段的个数加和,如果操作数小于 \(\sqrt q\),则每个询问对应的连续段个数是 \(\sqrt q\) 的,总共有 \(q\sqrt q\) 个二维偏序。将所有二维偏序离线一起处理,复杂度还是 \(O(n\sqrt n)\)。
注意第二种情况的空间复杂度是 \(O(n\sqrt n)\),考虑每个至于连续段出现的时间是一段区间,它对这段区间内的所有询问有贡献,所以只需要记录这个区间左右端点,而不需要记录每个询问,这样空间复杂度是 \(n\)。
火车轨道
考虑轨道合法当且仅当满足两个条件,坐标和方向都成环。
对于坐标,考虑每个轨道按照 \(x,y\) 坐标的正负贡献分成 \(4\) 种,要求 \(\sum x_i=0,\sum y_i=0\)。
即对于 \(x\) 将所有轨道划分为两个集合,每个集合是 \(\frac {sum} 2\),对于 \(y\) 也是,而且划分方式不相同。这等价于集合大小为 \(\frac {sum} 2\) 的集合至少有 \(4\) 个。
对于方向考虑 \((x+,y+)\) 贡献的轨道两个接在一起后方向不变,想要变换方向必须要有奇数个轨道,其它的同理,所以要求 \(4\) 中轨道每种轨道的个数奇偶性是相同的。
那么每个 \(\frac {sum} 2\) 的集合大小肯定就都是偶数,判断是否有至少 \(4\) 个 \(\frac {sum} 2\) 且集合大小是偶数的集合即可。这容易背包解决。

浙公网安备 33010602011771号