2023/11/4に開催された、HHKBプログラミングコンテスト2023(AtCoder Beginner Contest 327)に参加しました。
参加前のレートは1242。直近のHighest手前まで戻してきたというところで、これから水色安全圏までレートを上げていきたいところです。
ということで、今回も水色パフォ目標で挑んでいきます。
Rated参加します。
— devgenjin77 (@devgenjin77) 2023年11月4日
今回も水パフォ以上とって、Highest更新目指します✊
HHKBプログラミングコンテスト2023(AtCoder Beginner Contest 327) - AtCoder https://t.co/JvHjaQ6gFa
今回の結果
D問題でどハマりを喰らってしまい、3完で終了という残念な結果となりました。
パフォーマンスの方は緑にすら届かず。。レートは暴落して、再度緑落ちを喰らってしまいましたとさ。
3完茶パフォと大事故を喰らって緑落ち😭😭
— devgenjin77 (@devgenjin77) 2023年11月4日
また次回頑張ります
devgenjin77さんのHHKBプログラミングコンテスト2023(AtCoder Beginner Contest 327)での成績:4534位
パフォーマンス:711相当
レーティング:1242→1198 (-44) :(#AtCoder #ABC327)https://t.co/unAAeI81yb
振り返り
A問題からペナを喰らってしまうなど、全体的に残念な内容でした。
A問題
問題を見た瞬間、文字列にab
が含まれるかどうかを判定すれば良いかということでs.contains("ab")
がtrue
ならYes
という感じの実装で提出。
その後、結果を見ずにB問題に進みましたが、Bを提出した瞬間、WAになっていたということに気づきました。。
結局"ba"
もチェックする必要があるということで、後で振り返ると、サンプルを確認していれば防げたミスでした。
AをACした時点では、6分54秒1ペナで2完。
提出コード
https://atcoder.jp/contests/abc327/submissions/47218764
B問題
見た目少し難しそうだが、制約から、の取りうる範囲はそんなに大きく無いので、全探索が効くかという感じ。
とりあえず、の探索範囲をからまでとし、がLong
の最大を超える場合は探索打ち切りという感じで実装。これで問題なくACが取れました。
ちなみに、この時点でAの提出がWAだったことに気づいたので、6分24秒1ペナで1完です。
提出コード
https://atcoder.jp/contests/abc327/submissions/47217956
C問題
与えられたの盤面が、ナンプレの配置として正しいかを判定する問題。
やることとしては、各行、各列、そして各のブロックに対して、愚直に〜が1つずつ存在するかを判定するだけ。
実装に結構時間がかかりましたが、問題なくACが取れました。18分1秒1ペナで3完。
提出コード
https://atcoder.jp/contests/abc327/submissions/47012495
D問題
考察したところ、グラフに落として考えれば良くて、各連結成分毎にDFSを使って各頂点に0
か1
を設定していき、隣接する頂点が同じ値になったらNo
という感じで良さそう。
ということで、上記の要領で実装して提出したものの、なぜかWAが取れず。。
不具合になりそうな所に当たりをつけていじってみても、同じWAの繰り返し。。とりあえず残り30分を切ったところで、一旦この問題を諦めることにしました。
因みに、コンテスト後に解説を見ても、本番中に行った考察とほぼ同じ感じだったので、なぜ通らないのかが未だにわからずです。
なお、この問題は単なる二部グラフ判定の典型だった模様。この程度の典型が解けなかったのは、非常に残念です。
E問題
考察してみると、コンテストを選ぶ回数を固定したときに、レーティングの計算式の分子の部分である、の最大をDPで求めることができれば解けそうな感じである。
あとは、個目まで見た時に、個採用した時の前述の合計の最大値という感じでDPが組めれば、というところでしたが、どうにも実装がうまくいかずでサンプルすら通らない形に。
時間いっぱい頑張りましたが、結局ACを取り切ることはできませんでした。
F問題
Eに詰まりかけたところで、ワンちゃんあるかと問題をチラ見しましたが、結局わからずで撤退しました。
G問題
問題すら見ておりません。
これまでの実績
再度の緑落ちを喰らいました。また、入水に向けて頑張ります。
総括
A問題のミスや、D問題のバグらせなどもあり反省点が多い回でしたが、E問題までは、考察はなんとかできている感じなので、そんなに悲観する内容では無いかというところです。
次回以降に向けては、もう少し実装力をつけていく必要があるかというところ。過去問を解く数などをいつも以上に上げていくように心がけて、準備していこうと思います。
ということで、また次回も頑張ります。