MITIT Spring 2025 Finals Round

A. Beautiful Bracelets

首先答案有一个下界是 \(\max cnt_i + 1\)

可以构造达到这个下界,如:1 1 2 2 3 3 44 3 2 1 3 2 1

B. Mashup

可以发现一个关键性质,每个难度最后对应的题目数量是确定的。

然后就转化为:每个点可以匹配一个区间的点 的匹配个数 mod 2。这是经典问题,只需要连边 \((l-1,r)\) 判是不是生成树。

C. Escape Room

首先有解的必要条件是:

  • 如果 \(S\)\(1\)\(S\) 的超集是 \(1\),对于 \(0\) 则是子集同理。
  • 对于两个集合 \(S,U \setminus S\) 如果 两个集合都是 \(0\) 则不合法,因为完全图的边不可以分为两个不连通的图。

下面来构造证明是充分的。

找到所有最紧的,是 0 的颜色集合,把每个这种颜色集合的补集放进 \(\{ S \}\)。我们尝试构造一些点,使得去掉 \(S_i\)\(i\) 会变成孤立点。

对于 \(S_i,S_j\),一定能找到一种颜色 \(c\in S_i \cap S_j\),否则和上面的条件 2 矛盾,于是可以连边 \(c\)

但这样还不能保证去掉 \(S_i\) 后 多一种颜色就连通了。

于是可以再构造一个 \(2k\) 个点的辅助图,边由 \(k\) 个不同颜色的生成树构成(这个是经典的构造)。把每个 \(i\) 都连所有 \(S_i\) 中的颜色的边到辅助图就行,这样少去掉一种颜色就连通了。

D. Scary Subsequences

判定转容斥计数:转成统计有多少 \(len\) 长度的,本质不同的 \(s\) 的子序列,\(s,x\) 的子序列,\(s,x,y\) 的子序列...

然后由于 \(x,y,z\) 一定是 \(s\) 的子序列,所以后面的就是算 \(\{x,y,z\}\) 某个子集 的子序列,可以预处理。每次询问就只要算 \(s\) 的子序列个数,而且在 \(len>\max(|x|,|y|,|z|)\) 时就不用算了。

posted @ 2025-05-04 21:14  Rainbow_qwq  阅读(198)  评论(0)    收藏  举报