kwm_t

kwm_tのメモ

ABC255

耐え
ペナ出しすぎ
■A - You should output ARC, though this is ABC.
受け取って出力
■B - Light It Up
書いてるとおりにする
printf("%.16Lf\n", ans);

printf("%.16lf\n", ans);
とかいてペナを出すなどした。
手元環境では正解を出力する謎
■C - ±1 Operation 1
等差数列の区間外にあるときは端っこに寄せればいい
区間内に在るときは高々abs(d)動かせばいいので全探索する
■D - ±1 Operation 2
累積和を持ちどれに合わせるかを全探索する
lower_boundでx未満、より大の要素の個数を出す
■E - Lucky Numbers
方針一瞬、long longのWAを取るのに16分。
a[0]を適当に決めて数列を一つ作る
a[0]に+xすると数列は+x,-x,+x,-x...とされるので
x[i]に寄せるための差分をmapで管理する
■F - Pre-order and In-order
na:[l,r)
bn:[l2,r2]

na:[l,l+1)[l+1,l + pos+1)[l +pos+1,r)
nb:[l2,l2 + pos)[l2 + pos,l2 + pos+1)[l2 + pos+1,r2)
に分解されるのであとは添字を丁寧にすると通る。
■G - Constrained Nim
nimと書いてるだけで難しく見える
■Ex - Range Harvest Query
setで区間を管理するテク
ド典型