ぱふの競プロ日記

競技プログラミングのメモや軌跡を残していく。そんなブログ。

【AtCoder】ABC001を解いたのでメモ【Python3】

結果と最終提出コード

f:id:PafuOfDuck:20180820081805p:plain

A】 【B】 【C】 【D

解答後の心境


【A】

  • これは簡単。入力の練習レベル。

【B】

  • 単位mkmに直し忘れのミスがあったが、他は問題なし。

【C】

  • デバッグ用の出力を消し忘れた。Nの扱いを間違えてREを出してしまった。

【D】

  • 雨なし:0, 雨開始:1, 雨終了:2の要素を使って状態を管理するリストを作成した。
  • WAを出しまくっているのは、5の丸め方にミスがあることに気づかなかったから。
  • TLEを解決できず断念。Pythonの処理速度のせいにしようとするも、クリアしている方々を発見してしまう。

解説メモ


【A】

  • なし

【B】

  • なし

【C】

  • 小数対策が考慮出来てなかった。細かい誤差は難しい。

【D】

  • 一次元配列で行なっていた。見やすさの観点から二次元にしたのだが、処理時間の増大の原因になったか?
  • 『先にソートすると高速化できる』と。なるほど!
  • 座標の圧縮?ピンとこない...
  • 『いもす法』を使う方法も。自分の方法と比べると色々な問題に応用が利きそう。

得た知識

  • format()の使い方
  • input()の使い方
  • //int型に変換されず、floatのまま
  • python3のround()は丸めるので、一般的な四捨五入の場合は自前で実装
  • いもす法

まとめ

  • 久しぶりにPythonを触ったけど、全く書けなくなっていた...。
  • 解けても、綺麗に書けているか不安。
  • 他の人の提出コードの実行時間が1/10くらいなのでビビっている。笑
  • 「この処理は重い!」というテンプレ的なのを覚えないとやばそう。