自分用tips集

お久しぶりです。

AtCoder ProblemsのC問題あたりを埋めてるここ1週間って感じだったんですけど、案外いけるもんですね。平均30分くらいで解き進めてます。

数論とか図形とか、ちょっと数学・パズルっぽい問題の方が解きやすくて、グラフとかのテクニカルな話題になると時間かかるんで「「「勉強量」」」って感じですね。

蟻本とか螺旋本とかやればいいんでしょ、C++やればいいんでしょ

今日はここにPythonで競プロをやる上でのtipsを羅列していきます。もう完全に自分用です。

1. 階乗して10^9+7で余りを求めるみたいな問題で、逐次modを使って計算すると時間短縮になるよって話(参照:C - Reconciled?

qiita.com

2. for-else,while-else構文とbreakの組み合わせでスマートに繰り返しの例外処理をできるって話

www.pythonweb.jp

qiita.com

for文を最後まで回すと勝手にelse以降の処理が付いてくるけど、途中でbreakするとelse以降の処理はなされないっていうのが趣旨。

 

3. 配列とかの出力時はjoinを使うと良さげ

www.sejuku.net

qiita.com

joinは「文字列(配列)を連結する」ものだから、数値はstr()で文字列に変換してあげる必要があるということみたい。

では今日はこんなところで