ABC141
AtCoder Begineer Contest 141 に参加。
問題 | 解答 | 結果 | |
---|---|---|---|
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問題もアルゴリズムを知っていれば解けた問題 やはり基本問題もっと沢山解く必要があることがわかった回だった。