Educational Codeforces Round 16

スポンサーリンク

A. King Moves

各方向が盤面内かどうか.

B. Optimal Point on a Line

中央値.leftmost one を出力することに注意.

C. Magic Odd Square

有名な魔方陣構築アルゴリズム.

D. Two Arithmetic Progressions

共通要素を一つ求めることができたら,あとは lcm 周期です.ひとつ求めるのは CRT です.

E. Generate a String

長さを $2$ 倍した直後に $2$ 個以上挿入や削除することはないとしてよいです.$2$ 倍する前に挿入削除した方が得だからです.あとは dp できます.

F. String Set Queries

削除は重み $-1$ で追加することにすれば追加操作だけになります.

文字列集合が static ならば,Aho Corasick 法でできます.動的な追加に対応するには,追加する文字列の列に関するセグメント木や Fenwick Tree を考えればよいです.prefix にしかクエリしないので fenwick tree の方が高速でした.

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