差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
programming_algorithm:contest_history:atcoder [2019/04/15] – ikatakos | programming_algorithm:contest_history:atcoder [2019/06/11] – [PythonでAtCoder] ikatakos | ||
---|---|---|---|
行 16: | 行 16: | ||
* コンテスト終了後に復習しやすい | * コンテスト終了後に復習しやすい | ||
* 他の人の解答が見られる | * 他の人の解答が見られる | ||
- | * 多くの問題に対して、出題者または運営による解説PDFがアップロードされる | + | * 定例的なコンテストに対して、出題者または運営による解説PDFがアップロードされる |
- | * YouTubeで解説生放送が開かれる | + | * 定例的なコンテストに対して、YouTubeで解説生放送が開かれる |
=====ステキ周辺サービス(公式とは限らない)===== | =====ステキ周辺サービス(公式とは限らない)===== | ||
行 61: | 行 61: | ||
* メリット | * メリット | ||
- | * 学びやすい | ||
* 環境構築しやすい | * 環境構築しやすい | ||
* 記述量が少ない | * 記述量が少ない | ||
- | * 整数だろうとリストだろうと '' | ||
* 最近、機械学習とかで流行りなので、本業の分野によっては知識を相互に活かせる | * 最近、機械学習とかで流行りなので、本業の分野によっては知識を相互に活かせる | ||
* [[https:// | * [[https:// | ||
- | * AtCoderでは、PyPyという、Pythonコードを高速に実行する言語を使うことができる | + | * AtCoderでは、PyPyという、Pythonコードを高速に実行する実行時コンパイル言語を使うことができる |
- | * ごく稀に使えるライブラリが異なることがあるが、基本的に同じコードで動き、書き換えの必要は無い | + | * NumPyなど一部のライブラリが使えないが、基本的に同じコードで動き、書き換えの必要は無い |
* これにより、スクリプト言語では計算量が厳しい問題でも通せたりする | * これにより、スクリプト言語では計算量が厳しい問題でも通せたりする | ||
* デメリット | * デメリット | ||
* 遅い | * 遅い | ||
+ | * 高速化のために、あまりアルゴリズムの本筋とは関係ない言語固有の高速化知識が必要になることがある | ||
* 難しい問題はPythonで挑戦している人が少ないので、参考に出来るコードが無いことが多い | * 難しい問題はPythonで挑戦している人が少ないので、参考に出来るコードが無いことが多い | ||
- | * %%C++%%以外のほとんどの言語に同じ事が言える | + | * %%C++%%、Java以外のほとんどの言語に同じ事が言えるかも |
* 他の競技プログラミングサイトでは、AtCoderほどPythonでも通せることに配慮されてない、かも | * 他の競技プログラミングサイトでは、AtCoderほどPythonでも通せることに配慮されてない、かも | ||
+ | * AtCoderでは、特にABCなどでは、遅い言語にも配慮されている感じがする(※個人の感想) | ||
+ | * だからといって別に全ての言語で通せる保証が無いことはきちんと明言されているので、通らなくても文句は言わない | ||
+ | * Pythonの強みである豊富な第三者モジュールがあまり使えないので、自前で実装する必要があることがある | ||
+ | 競技プログラミングを「競技」として勝ちにこだわるのであれば、最初から %%C++%% やるか、少なくともPythonと平行で %%C++%% などを書けた方がいいだろなあという気はする。 | ||
- | ====Python3ライブラリ・テクニック==== | + | Python他の高機能言語も、計算量が問題にならない問題に対しては簡単に素早く書けるというメリットはあるとは思う。 |
+ | 従って理想を言うなら言語の選択肢は多い方がいいが、その判断が競技中に適切に出来るかというと……まぁ難しいので、基本は高速な言語を優先した方がいい。 | ||
+ | |||
+ | そうでは無くて、言語の習得がてらとか、元からPythonやってたとかで、敷居低く楽しみながら参加するのであれば、「Pythonでも十分戦えるよ」ということは言えると思う。 | ||
+ | |||
+ | |||
+ | ====Python3ライブラリ・テクニック・読み物==== | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||