Educational Codeforces Round 59

スポンサーリンク

A. Digits Sequence Dividing

長さ 3 以上なら先頭 1 項だけでグループを作ればよいです.

B. Digital root

mod 9

C. Brutality

run length encoding してそれぞれの部分から $K$ 個まで貪欲にとります.

D. Compression

行の間,列の間で切らなければいけないところを列挙して gcd をとります.

E. Vasya and Binary String

区間 dp で.$[L,R)$ を全消しするときの最大スコアを求めます.

$L$ と文字種 x を固定するごとに,最後に残す x の場所,残した x の個数について dp します.これで L を含む消去を行う場合の計算ができます.

F. Vasya and Endless Credits

最終日から $i$ 日前に種類 $j$ の credit offer を使った場合の利得が分かります.この $(i,j)$ をマッチングと見て最大重みマッチングで定式化できます.

G. Vasya and Maximum Profit

分割統治します.$[L,M,R)$ から $M$ を含むように選ぶ場合の最適化ができればよいです.

左側に gap の最大値があるとしてよいです.左側でとる個数を増やしていくと,右側でとれる個数が増えていって,右側からとれる最大スコアを更新していけます.

CodeForces
スポンサーリンク
シェアする
maspyをフォローする
maspyのHP
タイトルとURLをコピーしました