Codeforces Round #493 (Div. 1)

A
作業の合計回数は一定です。
B
勉強になりました。数が埋まってる区間がありそうだからそれをずっと探そうと思っていたけど、冷静になるとこれは十分条件から攻めているのであまり良い戦略とは言えませんね。やっぱり「ありえない」ものを除去していって、同値に変形するのがシンプルな解法につながります。
C
包除原理するのは見え見えで、ΣΣiCj3^(i*j)を計算するのが本質です。これは二項定理でΣを1つにできます。
D
簡単に木上で長さKのサイクルを数える問題に帰着できます。ここからが面白い。重心分解するとなんか高速に求められます。重心分解とpathの相性は抜群ですね…。区間が出てきたら〜分解は考えたほうが良さそうです。
E
例の追加+削除のMoでできそう。