blog.bouzuya.net

2020-08-10 ABC109 A, B, C, D

ABC109 A, B, C, D 考察

ABC109 A - ABC333

A * B * C が奇数になるかを確かめる。 1 <= C <= 3 なのですべてを試せば良い。

https://atcoder.jp/contests/abc109/submissions/15797289

ABC109 B - Shiritori

ひとつ前の末尾の文字と先頭の文字が一致すること。そこまでにその文字列が使われていないこと。 N <= 100 なので二重ループで使われていないことを確認しても問題ない。ぼくは BTreeSet を使った。

https://atcoder.jp/contests/abc109/submissions/15797372

ABC109 C - Skip

各都市の位置はソートしておく。隣接する各都市の間を D の倍数で移動しようと思うと D はすべての都市の間の距離の最大公約数だと良さそうだ。最後に X とその両隣 (X が両端になる場合は隣) と先の最大公約数の最大公約数の最大値をとると良さそうだ。

解説を見ると |X - x_i| の最大公約数で十分だったようだ。

https://atcoder.jp/contests/abc109/submissions/15797707

ABC109 D - Make Them Even

偶数のマスの個数を最大化する。各マスは最大 1 回しか操作できない。操作は対象のマスを -1 し隣接マスを +1 する。偶数のマスを操作して奇数にする意味はなさそうに見える。隣接マスが奇数ならそこに置くと良さそう。いずれの隣接マスも偶数だったとしても対象マスが偶数になるので合計は変わらない。 0 で偶数と判断されている場合があるので動かしておけば損しない。最後のマスが奇数になる場合はどうしようもない。

解説を見ると一筆書きでぐねぐね進むと良いらしい。↑ で通ってしまったので良しとしよう。

https://atcoder.jp/contests/abc109/submissions/15798375

自力 4 完だとうれしい。


リングフィットアドベンチャー レベル 101 ワールド 11 。自然と 100 を超えた。


bouzuya/rust-memo に機能を追加している。

既定で /titles / /titles/{title} / /pages で obsoleted な項目を隠すようにした。また obsoleted なものにはその表示を追加した。表示・非表示を切り替えるためのリンクを追加した。

actix-web での query string の parse がわからなかった。とりあえず url に入れて query_pairs から HashMap に変換している。 https://github.com/bouzuya/rust-memo/blob/e88dedea2baa25908081661c8587d8d6dd69e509/src/command/server.rs#L58-L68

現状は実行効率を無視している。完全に無視してもファイル数が少なければ問題にならないと思うので。明日以降は使ってみて不満点を挙げていく。