A - Affinity for Artifacts
我不会。我会了。
B - Balanced Neighbors 2
然后 \(n\leq 5\) 无解。
C - Combine to Make Non-decreasing
容易发现原题目等价于将原序列分成若干段,要求段之间的 \(\text{OR}\) 值 non-decreasing,并且段数最大。
能得到 \(O(n\log n)\) 个形如 \((l,r,i,S)\) 的四元组,满足 \(\text{OR}(l,i)=\text{OR}(l+1,i)=\cdots=\text{OR}(r,i) = S\)。由于要求最终序列 non-decreasing,且值域很大,考虑将四元组按值域排序,并且设 \(dp_i\) 表示将 \([1,i]\) 分段能得到的最大段数。发现这样 non-decreasing 的条件就自然满足了。然后线段树一下就做完了。
D - Devourers and Cake
通过观察可以发现,答案只和矩阵中心有关。于是取出矩阵中心,跑一个简单的博弈 DP 就做完了。
其实我觉得这是错的。不过好像又挺对的。