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\) 且集合大小是偶数的集合即可。这容易背包解决。

posted @ 2026-01-23 10:59  programmingysx  阅读(2)  评论(0)    收藏  举报
Title