kwm_t

kwm_tのメモ

ABC250

黄diff通して6完なら満足
oooooox-
1819->1837
■A - Adjacent Squares
bfsの要領で
const int dx = { 1,0,-1,0 };
const int dy
= { 0,-1,0,1 };
■B - Enlarged Checker Board
if (0 == (i/a + j/b) % 2)ans[i] += '.';
else ans[i] += '#';
■C - Adjacent Swaps
iが今どこにあるかを配列で保持しておく
■D - 250-like Number
10^6までの素数を列挙する
適当に尺取or累積和でn/p^3までの素数の数を
■E - Prefix Equality
ダサいことしてそう
Aの値を初めて出てきた順に01234と振り直す
BはAに含まれてる要素ならそれをないならINFとかつける
Aを前から取ると集合は01234…となるのでAiまでの要素数はすぐわかる
BのBiまでの要素数はsetで管理して
またmaxもメモしておくと要素数の一致と要素数とmaxBの比較でわかる
■F - One Fourth
尺取法でいいらしいが二分探索をしていた。それはそう
尺取法のほうが圧倒的に楽。
■G - Stonks
終了間際に3分ぐらいで考えた適当priority_queue解法をなげたけど当然WA
後で考える
解説流し見したら特定の場合にpushを二回すればいいらしい。なん
■Ex - Trespassing Takahashi
Adminの別解が賢い