いろいろな記録

大学院生やってます

AtCoder Beginner Contest 158

ABC158お疲れ様でした。23分4完+1ペナでした。

atcoder.jp

A - Station and Bus

パッと頭に入ってこなくてちょっと動揺しました。AAA or BBB の時はNo, それ以外はYesですね。

 

B - Count Balls

 nが並べた数を超えることはないので, n\  /\  (a + b) \times a + min(n \% (a + b), a)が答えになります。

 

C - Tax Increase

金額に余裕があるので全探索します。両者計算して,一致している場合は出力して終わり。

 

D - String Formation

一回TLE出しました。

反転しているかどうかをフラグで管理しつつ,与えられる文字列を前後に足していったところTLEでした。 s = s + c が遅いの知りませんでした()

 sの頭につけるものと後ろにつけるものを別々に文字列として管理すると間に合いました。

deque勉強します。

 

E - Divisible Substring

終了後解説AC。残念。

どうやってsubstringの割り算をしようか永遠に考えていました。

右の桁から見ていって,そこまでの数字のmod  pを取って,それと等しいものがあれば答えに加算するという方法は思いつけませんでした。また 10^nを考える際,桁数を持っておき,毎回10倍してmodを取っていけばオーバーフローせずに済みますね。頭いいな。

Zero Sum Rangesとかは過去に自力ACできているので,こういう工夫もちゃんと思いつきたいものです。

 

 

次回も頑張りましょう。