CSP-S2022模拟赛2 10.09

A [AGC024B] Backfront

顺序显然可以随意移,最后剩下必须连续,求最长上升子序列即可。

35588799

B CF1481E Sorting Books

预处理出每种颜色的最左最右位置,即求最多保留多少不移动。

设 $f_i$ 表示 $[i,n]$ 中最多有多少无需移动,$s_{i,j}$ 表示 $[j,n]$ 中,颜色为 $i$ 的数量。
$$
f_i = \max \begin{cases}
f_{i+1} & 1\leq i < n\
s_{a_i,i} & i \not = l_{a_i}\
s_{a_i,i} + f_{r_{a_i} + 1} & i=l_{a_i}\
\end{cases}
$$
106631440

C P5779 [CTSC2001]聪明的学生

几个结论:

  1. 如果两个相等,则另一个一定为其之和。
  2. 另两个人中较大者未能在相应的回合猜出,则其可能猜中。
  3. 最大的人一定先猜到。

设 $f_{i,a,b,c}$ 表示 $a,b,c$ 数,在第 $i$ 次是否能猜中。转移根据结论 1,2,3 即可。

89498503

D CF536D Tavas in Kansas

Blog Post

159692208