Scnsh Blog

技術的なことを書きたい場所

ABC141

AtCoder Begineer Contest 141 に参加。

f:id:scnsh:20190923190521p:plain

問題 解答 結果
A AC
B AC
C AC
D TLE
E TLE
F - -

3完、3ペナ

A - Weather Prediction

3分ぐらいで解けた。

先頭の文字だけで区別すればOK

B - Tap Dance

7分ぐらい。

RとLの違いだけを気にすれば良い。

C - Attack Survival

10分ぐらい。

Nが10の5乗なので、単純にループでまわしても解ける。

一応Pypyで実行してAC。

D - Powerful Discount Tickets

この問題で残り時間をほとんど溶かした。

方針と実装はそれぞれできたが、NとMがそれぞれ10の5乗なので、O(NM)の計算量になると制限時間オーバーになる。

回避方法が分からなかったが、優先度付きQueueを使えばO(M log N) となり解けた。

Pythonだとheapq

Submission #7547729 - AtCoder Beginner Contest 141

最小を最大に入れ替えるために-をつけるのはよくやる方法。

E -Who Says a Pun?

解き方が分からず、力任せにやったら案の定TLE

Z-Algorithm なるものを使うらしい。

知ってないと解けない問題ぽかったなぁ。

Submission #7548216 - AtCoder Beginner Contest 141

F - Xor Sum 3

到達できず

総括

D問題で計算量を減らす方法を探しているうちにタイムオーバー E問題もアルゴリズムを知っていれば解けた問題 やはり基本問題もっと沢山解く必要があることがわかった回だった。