Codeforces Round #422

editorialなどを見ながら埋めたのでその記録。

C

 長さごとに分類して、長さのペア同士でmapで最小コストを保持しながら尺取りのノリでずらしていくと解ける。

D

 実験してみると初手で1より大きい最小の約数で割るのが最適に見えるのでそれをもとにdpをやると通る。

E

 dp[元の文字列の位置][分割数]を考える。元の文字列を一文字増やすという更新と、一致している分だけ両方先に進めるという更新をする。文字列の一致判定はハッシュを使った。

F

 何も考えずにその頂点から生えてる辺の数で各辺を等分割するだけ。