0.はじめに
新ARCをちらっと見てみましたが、やはり難易度は高く
レーティングからも外れているので、今後もチラ見するくらいにとどめようかと思いました。
ABC373は、A~Cはカンタンでしたが、D以降は難しく、3問のみACにとどまりました。
それでもレートは+2と微増でした。ここら辺がまぁ実力なんでしょう。
1.A - September
9月用の問題。単純に文字列を12回読み込み
それぞれ、文字列の長さと、読み込み回数を比較し
一致していれば変数ansカウントアップし
最後にansを出力して終了としました。
https://atcoder.jp/contests/abc373/submissions/58182428
2.B - 1D Keyboard
ピアノ系問題に通ずるものがあるなと思いつつとりかかり。
それぞれの文字の位置を記憶しておき
最初Aの位置を変数preにセットし変数ansを0で初期化
その後、B~Zまで
preとチェックアルファベットの位置の差をansに加算していき
加算後preをチェックアルファベットの位置で置き換え
とチェックしていき
最後にansを出力して終了としました。
https://atcoder.jp/contests/abc373/submissions/58192787
3.C - Max Ai+Bj
近年まれに見る簡単なC問題。騙されているのかと思うほど。
まぁ、MAXを使える言語化とかも影響しそうですが。
リストAのmax値とリストBのmax値を足し算して終了でACでした。
https://atcoder.jp/contests/abc373/submissions/58196231
4. D - Hidden Weights
コンテスト中は、なんとか遅延セグメント木で正解しようと
四苦八苦していましたが、上手くいかず時間切れ
コンテスト後解説を見たら、深さ優先探索を繰り返せば済むと知り
思い込みはよくないなと思いました。
収穫としては、pypyの再帰は遅いので、いつも再帰の時はcPythonとかで提出してましたが
import pypyjit
pypyjit.set_param('max_unroll_recursion=-1')
を使えば、pypyでも遅くならないと知ったことでした。
https://atcoder.jp/contests/abc373/submissions/58247216
以上