A. XORinacci
周期 $3$ になります.
B. Uniqueness
すべての削除方法を試すことができます.
C. Magic Grid
縦に $x, x+1$ がペアで書かれるようにします.横にこれを順に並べていくと,$2x,2x+2$ や $2x+1,2x+3$ がペアになります. 両軸とも $4$ 個ずつで消えるようになります.
D. Restore Permutation
右端は決まることが分かります.すると右端から $2$ 番目も決まります.これを繰り返します.生き残っている数の集合を Fenwick Tree でとって二分探索します.
E. Let Them Slide
足す列がひとつのとき,答のそれぞれのインデックスは列のある区間の max になります.足す列が長いときにはこれをすべてのインデックスでやってよいです.短いときは列の中央部分には全体 max が足されていくのでそこの処理をまとめればよいです.
F. Bits And Pieces
各 $x$ に対して,$x\subset a_i$ となる最小の $i$ や $s\subset a_j \& a_k$ となる最小の $j$ を求めればよいです.後者は $s$ を含む $a_i$ が $2$ つ登場したときです.
subset への遷移は好きな場所を 1 bit 消すことを繰り返せばよく,同じ $a_i$ 由来の計算や $3$ 度目以上の登場を余分に計算しないようにすればよいです.
G. Polygons
「始点」はすべての $l$ で共通としてかまいません.$m$ が選ばれるのは,その $3$ 以上の約数 $d$ がすべて選ばれた後としてよいです.このとき選んだときの得点は $\varphi(m)$ です.
結局,頂点に重みのついた DAG の頂点をトポロジカル順に選ぶ問題と見なすことができ,簡単な貪欲法で解けます.
H. Red Blue Tree
dp[v] := (v が red となる最小の k)のような木 DP を考えます.葉の色の変更に対応しつつ,動的に木 DP を更新できればよいです.
HLD をとり,各 v では light child に対する dp の値を保持します.
それを利用してさらに dp[heavy_child] から dp[v] を定める関数 $f_v$ を保持し,これを heavy path 上のセグメント木にのせます.
すると点変更が起こると,セグメント木を利用して heavy path の先頭の頂点での dp[v] が計算でき,その親の light child data, f_v を更新し,という繰り返しで $O(\log N)$ ステップで木DPが更新できます.
今回は $f_v$ は,$f_v(x) = \begin{cases}y-1 & (x<a)\\y & (a\leq x<b) \\ y+1 & (b\leq x)\end{cases}$ の形で持てばよく,light child のデータは $k$ 番目がとれる(スライドでとれればよい)ような方法で保持できれいればすべてが計算できます.