Petrozavodsk Winter-2019. Yandex Cup 2019.
A. Takeover
B. Unfair Card Deck
C. Diverse Singing
- 建源点,汇点,每只龙建点(n),每种歌曲建点(m),Rep 中每个元素建点(k)。
- 源点向每个龙连流量为 \([1, +]\) 的边。(表示每只龙都要出现)
- 每种歌曲向汇点连流量为 \([1,+]\) 的边。(表示每种歌都要出现)
- 对于排骨龙,设排骨龙可选择的语言为 \(f_1,...f_x\),新建 \(x\) 个点,排骨龙向每个点连流量限制为 \([0,1]\) 的边(表示排骨龙该语言不能施展超过一次),每个点向 Rep 中【选手为排骨龙,语言为该语言】的点连流量限制为 \([0,1]\) 的边。
- 对于每种歌曲,设可选择的语言为 \(g_1,...g_y\),新建 \(y\) 个点,每个点向歌连流量限制为 \([0,1]\) 的边(表示每种歌,不能被该语言施展超过一次),Rep 中【歌曲为该歌曲,语言为该语言】的点向歌曲连流量现在为 \([0,1]\) 的边,
D. Pick Your Own Nim
拟阵交待补。
E. Permutasino
F. Planar Max Cut
G. Battle Royale
H. Jeopardy
题意 \(n*n\) 的矩阵,A,B 轮流操作,A 删一行,B 删一列,进行 \(n-1\) 轮,A 想最大化剩下的元素,B 想最小化剩下的元素。
做法
- 二分答案 \(x\),考虑怎么 check。
- 将大于等于 \(x\) 的设为 1,小于 \(x\) 的设为 0.
- 如果某行全是 1,那么最后剩下的元素一定是 1.
- 如果每行都有 0,那么 B 操作以后,依然可以保持每行都有 0.
- 然后发现二分就是在搞笑。
I. Slippers
- 定义>^<v分别为0,1,2,3
- 操作不改变方向之和模4的结果
- 方向之和模4相等的任意两个棋盘都可以互相转化。
- 没有完美 match,答案等于最大 match。
- 有完美 match,check 方向和模 4 的结果决定答案是否需要 -1.