gyouzasushi’s diary

競プロとか

AtCoder Beginner Contest 158に参加しました。

成績

4完1ペナで616位でした…。

f:id:gyouzasushi:20200308151401p:plain

踏ん張りました。

f:id:gyouzasushi:20200308151424p:plain

A - Station and Bus

Sに'A', 'B'両方の文字が含まれているかを調べます。

提出

B - Count Balls

A \times \lfloor \frac{N}{A+B} \rfloor + min(A, N\%(A+B))

青いボールはB個(Blueなので)という謎の思い込みに苦しめられました。

提出

C - Tax Increase

いつものやつです。流石に学習しました。B \leq 100なので、何も考えずに全探索するのが確実です。

 

f:id:gyouzasushi:20200308154050p:plain

f:id:gyouzasushi:20200308154545p:plain

f:id:gyouzasushi:20200308154809p:plain

???

f:id:gyouzasushi:20200308154922p:plain

!!!

1WA。

提出

D - String Formation

文字列の反転は時間がかかるので、最後にまとめて行います。

奇数回反転した文字列Sの先頭にC_iを追加するのは、偶数回反転した文字列Sの末尾にC_iを追加するようなものです。同様に、奇数回反転した文字列Sの末尾にC_iを追加するのは、偶数回反転した文字列Sの先頭にC_iを追加するようなものです。よって、今までに反転クエリが来た回数を記録しつつ上記の規則で追加クエリを処理し、最後に0回か1回反転を行えばよいです。dequeが便利です。

提出

E - Divisible Substring

コンテスト中にはACできませんでした。

  • P=2,5のときは例外処理(10^kと互いに素でないので)
  • SN桁の整数とみたとき、一の位はS_{N-1}

に注意すると、AC!

コンテスト後の提出

反省

  • 問題文を雰囲気で読まない(C問題…。)
  • 10^5桁の整数に拒絶反応を示さない