MITIT 2024 Spring Invitational Finals

A. Distance Mod 5

考虑一个点 \(x\) 向外的最短路树,如果两个点不满足 \(dis_{i,x} = (dis_{j,x} + 1) \bmod 5\)\(dis_{j,x} = (dis_{i,x} + 1) \bmod 5\),那么这两个点一定没有连边,否则可能有连边。

去除掉所有不可能的连边,剩下的连上边(要同时满足 \(dis_{i,j} = 1\)),发现这样是最优的。然后 floyd check 一下是否满足要求,复杂度 \(O(n^3)\)

B. Two Tokens

考虑 \(1\)\(2\) 两个点不断扩展,会得到一个当前走到的集合。

如果这个集合不能再扩展,那集合外的点要满足:与集合中的点都有连边 或 都没有连边。

打了一下暴力验证发现是充要条件:如果找到一个包含 \(1,2\) 的集合满足上面的性质,则不能完全染色,否则可以。

枚举这个集合大小并容斥即可,复杂度 \(O(n^2)\)

C. Cycling Competition

考虑询问能得到的信息是:得到最大值的位置,以及剩下序列的大根笛卡尔树。

假设当前笛卡尔树只包含两条链,我们将一条链从大到小、一条链从小到大排,询问一次就可以归并两条链。

现在假设笛卡尔树被剖分成了 \(k\) 条链(具有 \(k\) 个叶子),我们依次将链从大到小、从小到大交替排,询问一次后得到的笛卡尔树就只剩下 \(\lceil\frac{k}{2}\rceil\) 条链。

最优的询问次数是 \(\log_2(n-1)\)

D. Cycle Constrained Graph

考虑怎么利用模 \(P\) 的性质。

考虑把点按照 \(P\) 个分一组,分成 \(n\) 组。

假设把第一组的点编号修改成 \(i \to (i+1) \bmod P\),那么如果形成的图不一样,循环 \(P\) 次得到的都是合法方案。这 \(P\) 个方案会在 \(\bmod P\) 下抵消,可以不用考虑。

于是剩下的情况下,剩下每个点向第一组的点要么都连边,要么都不连边。同时第一组的点内部也不能有边,不然直接出现了长度为 \(P\) 的环。

然后再归纳第二组点,剩下的点到第二组点的连边情况也要相同,否则在 \(\bmod P\) 下抵消。

于是最后要统计的方案为:每两组点之间的连边情况相同。

把每组点缩成一个,问题转化为:在图中没有 \(\le P\) 长度的奇环。(如果有,就可以在环中每次增加两个点,成为 \(P\) 长度的环)

对于 \(n<P\) 就是有标号二分图计数。时间复杂度 \(O(P^2)\)

对于 \(n\ge P\),打表发现 \(ans(n)=ans(n-(P-1))\)。证明可以再把开头 \(P\) 个点分一组,后面的点必须和这 \(P\) 个点连边情况相同,于是可以把 \(P\) 个点缩成 \(1\) 个。

E. Avoid XOR Zero

这个题是打表做出来的,所以写的不太严谨。

通过打暴力发现,unavoidable 的序列是非常少的。考虑 unavoidable 需要什么性质。

\(x_i = b_i \oplus c_i\)。我们要求不管怎么选,\(x_i\) 的线性基都能表示出 \(b_i\) 的异或和。

可以证明 \(x_i\) 在最低的若干位必须形成满秩的线性基。可以考虑调整 \(b_i\),证明每个 \(2^p\) 都需要被线性基表示。

我们发现,如果一个数形如 ???0111 的话,不管怎么分,\(x_i\) 都为 ???0111. 可以用若干个这样的数组成低位的线性基。

最终合法的方案形如:

先取若干个数,形成最低位的线性基
00 ???01
00 ??011
00 ?0111
00 01111
00 11111

剩下的数都要 <=
01 11111

枚举线性基的最高位,然后 dp 即可。复杂度 \(O(n^4)\)

posted @ 2024-05-21 18:58  Rainbow_qwq  阅读(76)  评论(0编辑  收藏  举报