最近,プログラミング言語の練習がてら競技プログラミングを始めました.
言語としてPythonを使っているのですが,C++,Javaといった主流の言語に比べると,Pythonでの競技プログラミングは「邪道」だと捉えられている節があり,そこまで流行っていないのが現状です.
今回は,実用開発ではあまり使わないけれど,競技プログラミングでよく使うPythonの知識をまとめたいと思います.
注意点
-
Pythonの基本文法については,必要があるもの以外解説しません.
-
他の言語で競技プログラミングをやったことがある人が対象です.
-
この記事は現時点では未完成です.内容は随時追加・変更される可能性があります.
Pythonのバージョンは2.7.5(Python3では,入出力などの仕様が大きく異なります).
変更履歴
- 記事を分割しました.(2015/4/22)
- Python2での記事であることを明記しました.(2018/9/10)
入力
競技プログラミングにおける入力形式はいろいろあるが,今回は標準入力から受け取るタイプについて紹介する.
Python2で競技プログラミングする時に知っておきたいtips(入出力編)
制御構造
制御構造についてのtips.
Python2で競技プログラミングする時に知っておきたいtips(制御構造編)
データ構造
データ構造についてのtips.
Python2で競技プログラミングする時に知っておきたいtips(データ構造編)
便利なライブラリ
競技プログラミングに使える便利ライブラリについてのtips.
Python2で競技プログラミングする時に知っておきたいtips(便利なライブラリ編)
その他の言語仕様
Python2で競技プログラミングする時に知っておきたいtips(その他の言語仕様編)
各種制限に対応するための知識
Pythonにおける計算時間,メモリ使用量,再帰深度などについてのお話.