2022/5/14に開催された、パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 251)に参加しました。
今回のABCも水パフォが目標。前回ABCでは、緑パフォまでしか出せなかったのでリベンジなるかというところです。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年5月14日
今度こそ水パフォ取れるように頑張ります✊
パナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 251) - AtCoder https://t.co/dW9efSMUqk
今回の結果
で、、今回はなんとD問題が解けずで3完終了という結果になりました。。
肝心のパフォーマンスは、一応緑中盤ぐらい。なんとかレートは微減ですみました。
次頑張ります😢
— devgenjin77 (@devgenjin77) 2022年5月14日
devgenjin77さんのパナソニックグループプログラミングコンテスト2022(AtCoder Beginner Contest 251)での成績:2094位
パフォーマンス:1014相当
レーティング:1057→1053 (-4) :(#AtCoder #パナソニックグループプログラミングコンテスト2022(ABC251) https://t.co/VFgcUUN2cc
振り返り
D問題で方針を大きく間違えてしまいました。
A問題
とりあえず、を6回繰り返した文字列から、先頭6文字を出せばOKという感じで実装。
問題なくACを取ることができました。
1分53秒という普通のタイムで1完。
提出コード
https://atcoder.jp/contests/abc251/submissions/31656380
B問題
所謂、が間に合いそうな制約ということで、全探索を行う。
こちらも、特に問題なくACを取ることができました。
9分21秒で2完。
提出コード
https://atcoder.jp/contests/abc251/submissions/31663060
C問題
が既出かどうかを管理するSetオブジェクトを用意し、あとはオリジナルの中から最高得点のモノの出現位置を覚えておけばよい。
こちらも特に問題なくACを取ることができました。
15分12秒で3完。
提出コード
https://atcoder.jp/contests/abc251/submissions/31666674
D問題
D - At Most 3 (Contestant ver.)
ここで、大きく方針を見誤りました。
とりあえず、までの数字をすべて作れるように、桁の範囲ごとに分割すればよいかという考えは出たのですが、初手から2進数で考えてしまったため、無駄に苦労してしまうことになりました。
具体的には、最大値の100万を2進数で表すと、11110100001001000000となり、右から1-7桁目と中盤の8-14桁目、残りの桁で考えて3分割して、それらをすべて列挙してみると、全体で315種類。300以下の制約に合わなくなってしまいました。。
とりあえず、少し間引きした結果でいったん提出したものの、結果はあえなくWA。。
この後もいろいろ悩んだものの、解決策が浮かばすで、とりあえずこの問題は撤退です。。
E問題
一応、D問題より解かれているようなので残り30分弱の時間でチャレンジしてみる。
が、、良い解法が全く思いつかず。とりあえず、現在使おうとしている操作のコストが、その前後の操作のコストの和より大きい場合、前後の操作を行ったものとして計算するという解法を実装してみるも答えが合わず。
あとは問題を考察しているだけで時間終了となりましたとさ。
F問題
問題すら見れておりません。
G問題
問題すら見れておりません。
H問題
問題すら見れておりません。
これまでの実績
なかなか上抜けできない、もどかしいチャートとなりました。
総括
今回のD問題は、初手で2進数と考えたのが悪手でしたが、それを10進数で考えることに切り替えられなかったのが悔やまれるところです。
が、過ぎたことをあれこれ考えてもどうしようもありません。とりあえず日曜のARCを頑張ることとしましょう。
ということで、また次回も頑張ります。