Toyota Programming Contest 2023 Spring Qual A(AtCoder Beginner Contest 288)参加記

2023/2/4に開催された、Toyota Programming Contest 2023 Spring Qual A(AtCoder Beginner Contest 288)に参加しました。

atcoder.jp

告知情報によると、今回のABCはD以降の難易度が高めということみたいですが、あまり細かいことには拘らず、今回も5完以上を目標として挑むこととします。

今回の結果

結局3完で終了。やはり、D問題以降は激ムズでした。。

ABC288結果
ABC288結果

しかしながら、なんとか水パフォまで出てくれたようで、一応今回はレートを上げることには成功。こういう時は、早解きが大事。

振り返り

C問題までは順調。D以降は歯が立たずでした。

ABC288提出結果
ABC288提出結果

A問題

A - Many A+B Problems

複数のA,Bのペアが渡されるので、それぞれについて、A + Bを出力せよという問題。

とくに捻りはなさそう。やるだけの実装でOKというところ。一応、intの範囲内でオーバーフローも気にしなくて良さげだろうし。。

ということで、提出一発で問題無くACが取れましたとさ。

1分31秒で1完。

提出コード

https://atcoder.jp/contests/abc288/submissions/38597759

B問題

B - Qualification Contest

先頭K人分の名前を配列に入れてから、ソートして出力すればOK。

提出一発で問題無くACが取れましたとさ。

5分1秒で2完。

提出コード

https://atcoder.jp/contests/abc288/submissions/38603892

C問題

C - Don’t be cycle

最近、こういうUnion-Find使う系の問題がCかDに多く出てきている印象。

解法としては、グラフから辺を削除するのでは無く、辺ゼロの状態から、Union-Findを使って閉路検出を行いつつ辺を追加していくやり方になる。

閉路が検出されたら辺を追加しないという処理を繰り返し。追加しなかった辺の本数が答え。

ということで、これも提出一発で問題無くACが取れました。

8分20秒で3完。3完で10分切りは個人的には大分早い方です。

提出コード

https://atcoder.jp/contests/abc288/submissions/38607126

D問題

D - Range Add Query

順位表をみると、D問題で難易度が爆上がりしている状況が伺える。。

とりあえず問題を読んでみるが、問題の題意を掴むのに10分程度要してしまい、解法は全く思いつかずという状態に。。

とりあえず、Excelなどを使って、サンプル2の配列を元に差分の配列を計算してみるが、これといった決め手となる特性は掴めず。。

いもす法の累積和の逆をやるイメージかと思ったが、クエリごとに逆算して確認するようでは計算量的に絶望的な状況。。

結局、まったく糸口が掴めないままに時間だけが過ぎて行き、結局ACを取る事はできませんでした。

今回のE問題は青Diffぐらいの問題だったようですが、時間が結構ある中でまったく見通しが立たなかったのは残念です。

E問題

E - Wish List

問題をチラ見することもできておりません。

F問題

F - Integer Division

問題すら見れておりません。

G問題

G - 3^N Minesweeper

問題すら見れておりません。

Ex問題

Ex - A Nameless Counting Problem

問題すら見れておりません。

これまでの実績

一応、レート1100台には回復しました。

コンテスト実績
コンテスト実績

総括

まだまだ自分の実力が不足している事を思い知らされる結果となりました。

今週は、結構AHCに時間をつかっていたので、精進量が不足していた部分もありますが、来週以降また改めて今回の復習に取り組みたいと思います。

ということで、また次回も頑張ります。