Educational Codeforces Round 41

スポンサーリンク

A. Tetris

各列に来る個数を数えてその min です.

B. Lecture Sleep

各時刻が区間に入ったあとの利得の prefix sum を作っておきます.

C. Chessboard

各ボードをどうするかは 2 通りの模様があります.4 枚を 2 個ずつの 2 種類に分ける方法を全探索します.

D. Pair Of Lines

点 0, 1, 2 のうち少なくともふたつは同じ直線で使います.直線のひとつが決まるとあとは簡単です.

E. Tufurama

$y$ ごとに $x$ を数えようとすると,条件は $(x,a_x)$ という点がこの長方形内であるという形に書けます.よって長方形内の点を数えられればよいです.

F. k-substrings

sample の出力が示唆的で,ANS[k+1] は ANS[k]-2 以上であることが証明できます.逆に言えば ANS[k] は ANS[k+1]+2 以下です.ANS[k+1]+2 からはじめて線形探索すれば,探索回数の合計は $O(N)$ でおさえられます.あとは判定を $O(1)$ 時間程度でやればよいです.

G. Partitions

$w_i$ ごとの寄与を考えようとすると,すべての寄与は同じだということが分かります.そこでひとつの要素の寄与を考えます.これが属する集合の大きさを固定すると,残りはスターリング数です.

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