MITIT 2024 Spring Invitational Finals

Rainbow_qwq發表於2024-05-21

A. Distance Mod 5

考慮一個點 \(x\) 向外的最短路樹,如果兩個點不滿足 \(dis_{i,x} = (dis_{j,x} + 1) \bmod 5\)\(dis_{j,x} = (dis_{i,x} + 1) \bmod 5\),那麼這兩個點一定沒有連邊,否則可能有連邊。

去除掉所有不可能的連邊,剩下的連上邊,發現這樣是最優的。然後 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\) 下抵消。

於是最後要統計的方案為:每兩組點之間的連邊情況相同。

把每組點縮成一個,

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)\)

相關文章