VK Cup 2021 - Elimination Engine (A-F)题解
VK Cup 2021 - Elimination Engine (A-F)题解
A. Binary Decimal
答案为\(\max\{digit\}\)。
B. Putting Plates
沿着外围走一圈能放就放。
C. Pursuit
直接二分答案。
D. Secret Santa
原图构成基环树,问题可以变成删去若干条边使得每一个点恰好有一个入度,且不能存在恰好一个孤立点。
E. Minimax
首先如果全部字符都一样,直接输出即可。
否则可以证明答案\(\leq 1\) :可以将最大的字符放到前面,后面按照递增的顺序放置。
考虑是否存在\(0\)的情况:“当且仅当,存在一个仅出现一次的字符”,最小字典序的构造直接将最小的出现一次的字符放到前面,后面递增放置。
否则答案为\(1\),考虑将最小的字符放在第一个。
考虑第二个字符:
- 也放最下的,假设最小的是\(a\),其余的为\(x\),则一定可以构成\(aaxaxax...xxxx\),其中\(x\)按照递增的顺序放置。
- 如果不行(a太多),设第二小的为\(b\).
- 若只有两种字符,就必须这样放置,\(abb...bbaaa...aa\)
- 否则设第三小的是\(c\),就可以这样放:\(abaaaaaacxxxx\)。
F. Bingo
首先存在一个比较显然的\(O(2^nn^2)\)的做法。
直接记录行的mask,然后转移的时候做\(And/Or\)卷积。
但是显然过不去。
考虑min_max容斥,将至少转变成所有。
答案为:
\[\sum_{T\neq \emptyset} (-1)^{|T|-1}G(T)
\]
其中\(T\)为枚举的直线,\(G(T)\)为\(T\)中的直线全部满足的概率。
枚举行在\(T\)中的元素,和对角线在\(T\)中的元素,然后dp算列即可。