2023/9/17に開催されたAtCoder Regular Contest 165に参加しました。
先月はARCの開催がなかったので、しばらくぶりの参加です。今年はARCで良い結果が出せておらず、0完爆死で緑落ちするのではという不安もありますが、今回は最低でも1完以上を目指して、水色レートを維持することを目標に頑張ります。
Rated参加します。
— devgenjin77 (@devgenjin77) 2023年9月17日
0完爆死で即緑落ちしかねないので、今回はなんとか1完確保を目標に頑張ります✊
AtCoder Regular Contest 165 - AtCoder https://t.co/uR3H9hL82T
今回の結果
宣言通り、なんとか1完を確保したという結果になりました。
パフォーマンスは、ギリギリ水色に届かずでしたが、なんとかレートはわずかな減少にとどまり、水色レートを維持することができました。
1完緑パフォで、レートは微減。
— devgenjin77 (@devgenjin77) 2023年9月17日
Bが解けなかったのは残念です。
また次頑張ります。
devgenjin77さんのAtCoder Regular Contest 165での成績:1338位
パフォーマンス:1190相当
レーティング:1219→1216 (-3) :(#AtCoder #ARC165 https://t.co/eWX4QryDYd
振り返り
B問題は惜しいところで解き切る事ができませんでした。
A問題
1番目の条件、については、を任意の数だけ詰め込む事ができるので、本質的に言えばかつとなる以上の整数が存在するかという問題と言える。
これを判定するには、の約数列挙を行い、以上の相異なる約数同士について、GCDが1になるペアがあればOKかなあという感じで実装。
で、これで提出してみたら、1発でACを取る事ができましたとさ。
11分41秒で1完。結構スムーズに1完達成できたと思ってましたが、この時点でA問題のAC数は900位に達しており、順位的には大したことなかったです。
提出コード
https://atcoder.jp/contests/arc165/submissions/45671705
B問題
順列の連続する個の要素を1回ソートすることで得られる、辞書順最大の順列は何かという問題。
まず、の中で個の連続する要素が単調増加している箇所がある場合、そこをソートすればと同じ結果になる。ソートすることで辞書順が大きくなることはあり得ないので、この場合はをそのまま出せばOKかと。
そういう箇所がない場合だが、これが難しい。とりあえず後ろからソートするのが良さげだが、サンプル3を見ると、どうもそういう感じではないので、工夫が必要。
サンプル3の見た目から、後ろ個の要素の最小値が、個目より大きい場合、ソートする範囲を左にシフトできるという感じなので、配列全体を通して、そのような箇所があるかを判定し、ある場合、最初に見つけた場所をソート箇所にするという感じで組んでみましたが、これはWA。。
あとは、色々条件をこねくり回してみましたが、全然WAが取れず。結局ACを取り切る事ができずで、時間切れになりましたとさ。
で、後で解説を見てると、結局惜しいところまで近づいていたものの、考察の詰めが甘かった模様。この辺りの考察の雑さが今後の反省点ですね。
C問題
問題すら見ておりません。
D問題
問題すら見ておりません。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
土日を通して、なんとか水レートを維持する事ができたという感じの結果になりました。
総括
今回は、なんとか1完を確保しましたが、内容的には2完は狙えたかという感じだったので少し残念な結果です。
雑な考察をしていては、ARCで好成績を残すことはできないという感じですね。次回に向けてARC過去問の精進も継続していこうと思います。
ということで、また次回も頑張ります。