いろいろな記録

大学院生やってます

AtCoder Beginner Contest 166

ABC166お疲れ様でした。49分でABCDEの5完で、昨日失ったレートを取り戻しました。

 

atcoder.jp

 

A - A?C

00'51 : AC

言われた通りに。

簡単な問題の早解きが苦手なので、ARC再開されて欲しいなーと思っています。

 

B - Trick or Treat

03'23 : AC

各すぬけ君の持っているお菓子の個数を管理するテーブルを使って、各 dごとに足していく。最後にお菓子を1つも持っていないすぬけ君をカウント。

 

C - Peaks

12'20 : AC

ちょっと悩んだ結果、隣接行列を作り、各ノードに隣接しているノードに対応する高さがそれよりも大きければFalseとする方針でやりました。

橋ごとに見ていって、低いものにバツをつけていくという手法は頭いいですね。

 

D -  I hate Factorization

20'42 : AC

全探索です。どうせlong longでいけるやろと思って、 -2000から 2000の範囲で投げたら通ったのでよかったです。ちゃんと計算すれば 200くらいでいいみたいですね。

若干制約が見にくかった気もします。(一見、全ての xについて条件を満たすa,\,bが存在する、と言われているように見えなくもないです。まあ違いますが。)

 

E - This Message Will Self-Destruct in 5s

49'23 : AC

じょえチャンネル見てたおかげで一発で方針立てられました。じょえ君に感謝。

条件を式にして整理すると、 i \leq jとして、 A_{i} + i = j - A_{j}となるペアをカウントしていけば良いということになります。 i \leq jなのがミソです。数列 \left\{A_{i} + i \right\} \left\{i - A_{i}\right\}を生成して、左から同時に見ていきます。この際、前者に関しては登場した数字をmapでカウントしておいて、その時点でmapに入っている i - A_{i}の個数を答えに足していけばよいです。

 

F - Three Variables Game

editorial読んだ感じやってることあってそうなんですが、3WAの末解けませんでした。ミスあるかもなので明日以降復習します。

 

---

Eまではサクサクいけたのでよかったですが、これでレートが+21しかもらえないとなると、なるべく青パフォや黄パフォを取る必要が出てきそうです。ちょっと精進の質や方向性も再検討しなければいけない気がしています。

 

 

次回も頑張りましょう。