A. Text Volume
定義通りに計算.
B. Flag of Berland
転置して 2 回解くと実装量が半分です.
C. Two Seals
すべての 2 枚組を試し,横に並べるか縦に並べるかも両方やります.
D. Round Subset
素因数 2, 5 の個数が問題です.選んだ $5$ 個の個数を決めたときに $2$ の個数の最大値はいくつか?という dp ができます.
E. Vasya’s Function
一度 $g=\gcd(a,b)$ になったら以降 $\gcd(a,b)$ は常に $g$ の倍数です.$g$ の増加回数は少ないので,$g$ が定数の間のシミュレーションをまとめられればよいです.これは $a$ の素因数 $p$ ごとに,次に $b$ が $gp$ の倍数になるのはいつかを求めることでこれが可能です.
F. Prefix Sums
prefix を適当に削除して,$a[0]>0$ としてよいです.$(1,0,0,\ldots)$ の場合を考えると,$k$ 項目は少なくとも $k$ 次式オーダーで増えていくので,長さが十分大きいときは愚直なシミュレーションでよいです.長さが非常に小さいときだけ適当に計算します.
G. Functions On The Segments
$x_1<x\leq x_2$ の場合の計算は全体から他を引けばよいです.よって $x\leq x_1$ や $x_2<x$ での何かを計算できればよいです.
そのような範囲での $y_1, a, b, y_2$ のそれぞれの総和がとれれば答が計算できます.$x_1, x_2$ それぞれに対する wavelet matrix を持つことでこれを達成できます.