https://atcoder.jp/users/Kazhir
- 実行
source .venv/Scripts/activate
-
コンペ前
- Template フォルダをコピペして rename する
- そのフォルダに入っとく
-
テスト
- chrome 拡張 Atcoder Unit Test で 貼り付ける.
- AtCoder Unit Test で自動生成できる, 最後の unittest.main は消す
- python -m unittest template/template.py
- pypy3 -m unittest template/template.py
-
プロファイリング
- テスト用のデータは adhok に作る python D_data.py > D_data.txt とか
- 関数に @profile デコレータをつける。終わったらコメントアウトする
- kernprof -l D.py < test_D_input_4.txt
- python -m line_profiler D.py.lprof
Python で通るのは 10**6 くらいまで
- 標準入力にはリダイレクトで渡せる
python spam.py < sample.txt
- stdin.readline
input に比べて速い。
sys.stdin.readline は最後に改行文字 \n が入る
split は スペースで区切るのと、\n を削除する. スペースが無い場合は要素 1 個のリストを返す
- del は o(n)なので使わない, 新しく配列作ったほうが速い
- in も list では o(n), set, dict に直す
pypy のバージョンが上がってだいぶ改善されてる
- 再帰
- dict
- 文字
- deque
- 内包表記 (ベタ書きの方が速いらしい)