A. Candies for Nephews
$n$ を $3$ で割った余りから答が決まります.
B. Deck of Cards
手前から $a$ 個,後ろから $b$ 個,自由方向から $c$ 個消すとします.
$a+b+c=n$ なら自明.手前 $a$ 個と後ろ $b$ 個も確定です.
それ以外については,消さないようにすることができます.
消すことができるかどうかは,手前から $a+c$,後ろから $b+c$ 個に入っているかで判定します.
C. Monocarp’s String
a を +1, b を -1 に書き換えた累積和を考えると,列 $A$ と定数 $c$ が与えられて $c=A[r]-A[l]$ となる $(l,r)$ を探すという問題になります.$r$ から最大の $l$ を探せばよいです.
D. Inversion Value of a Permutation
$p$ のスコアの計算方法を考えると,減少するところで区切って,各区間の二項係数 $\binom{n_i}{2}$ を足すという形になります.よって,長さ $n$ を分割して, $\binom{n_i}{2}$ の和を目的の値にするという要領でよいです.
dp で多項式時間ですし,制約が小さいので分割列挙でもよいです($N=30$ で $5604$ 通り).
E. Predicting Popularity
設定の大半はどうでもよくて,$c_i = \max(a_i-ac,0)+\max(d_i-dr,0)$ とします.$c$ の点変更が来るだけです.
$p=0,1,2,\ldots$ とやってどこで止まるかを考えます.
「$c_i\leq p$ となる $i$ の個数から $p$ を引いた値」
が正でなくなったときに止まるという形になります.この値を $p$ に対するセグメント木で管理すればよいです.
F. Long Journey
$1$ から $10$ までの最小公倍数を $K=2520$ とします.
状態 $(i,x)$ を「座標 $x$ に居る.$b_i\pmod{a_i}$ への移動が禁止されている.」とします.
まず各 $(i,0)$ を始点として,$[0,N)\times [0,K]$ への最短路問題を解いておきます.
座標については $K$ 周期なので,これを行列累乗にのせれば $(0,0)$ から $(i,Kq)$ への最短時刻が求まります.
$(i,Kq)\to (j,Kq+r)=(j,M)$ は最初に解いておいた最短路問題が再利用できます.
G. Cost of Coloring
判定と最小コストについて考えます.いつものように逆順に考えます.各色の単色になっているような行や列を削除して遡っていきます.
この操作はほとんど一意で,コストの差が生まれるのは最後の一色だけです.最後の一色で行数 $a$,列数 $b$ が残っているとき,それまでの削除コストは $(n+m)-(a+b)$ で,そこからの削除コストは $\min(a,b)$ という要領です.
答を求めるのは,すべての $(a,b)$ をループする形で計算できます.
まず,残す $a$ 行と $b$ 列を選ぶという二項係数をかけます.あとは,単に削除すべき行と列 $c=(n+m)-(a+b)$ 個について削除されるタイミングを考えると,$c$ 元集合から $k-1$ 元集合への全射の個数をかければよいと分かります(全射の個数は第 $2$ 種スターリング数と同じ.$k$ が固定なので $O(n\log n)$ のような時間になるが,制約的に $2$ 次元の dp テーブルを作ってもよい).
