A. To Zero
貪欲に引いてとっていきます.$2$ 回目以降は $x$ が偶数で確定なので,$k-1$ ずつです.
B. Array Recoloring
最後に塗るものを固定します.最初に選ぶ $k$ 個はほぼ自由ですが,最後に塗るものの両側に少なくともひとつずつなければいけません(端ではないとき).場所ごとに左右の列をソートして個数を全探索します.
C. Two Colors
$a,b$ 枚ある色を使うときの数え上げが $a,b,a+b$ と $N$ の大小関係によって場合分けで書けるので,適当な区間和でとれます.$a,b\leq N-1$ に帰着しておくとより簡単でしたがあまり考えず実装してしまいました.
D. Equalization
操作列の結果は「$x$ を $2^a$ で割り $y$ を $2^b$ で割る」という形にまとめられます.$(a,b)$ ごとにそれを実現するための最小コストを最初に前計算しておきます.
E. XOR Matrix
列 $a, b$ それぞれの種類数は $2$ 以下です.難しいパターンは $2$ 種類ずつあるときで,この場合には次の問題を解くことになります:
$a_1,a_2\in [0,A]$ および $b_1,b_2\in [0,B]$ という $4$ つ組であって $a_1\oplus a_2\oplus b_1\oplus b_2 = 0$ であるものを数えよ.
これは桁 dp で数えられます.
F. Beautiful Sequence Returns
適当に座圧して $a$ を $[0,n-1]$ の permutation にできます.
左端の候補点は,$a$ 全体において prefix での minimum となる点のみとしてよいです.そうでないとき改良できるので.右端は suffix での maximum です.だいたい次のような点になります.
$x$ が増大,$y$ が減少する列が $2$ つある:$(a_i,b_i)$ および $(c_j,d_j)$.
$(i,j)$ に対する次の値を最大化せよ.$[a_i,c_j]\times [b_i,d_j]$ 内にある点 $(k,p_k)$ の個数.
点 $(a,b)$ を動かしながら $[a,c_j]\times [b,d_j]$ 内の点の個数 $\dp[j]$ を管理します.$(a,b)$ の座標を $1$ 動かした場合,dp に対する区間加算が発生します.座標を動かす回数 $O(N)$ ですべての候補点 $(a_i,b_i)$ の場合を計算できます.