差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
programming_algorithm:contest_history:atcoder [2019/09/17] – [ステキ周辺サービス(公式とは限らない)] ikatakos | programming_algorithm:contest_history:atcoder [2019/11/06] – [PythonでAtCoder] ikatakos | ||
---|---|---|---|
行 66: | 行 66: | ||
Pythonはスクリプト言語で、計算速度は速いとは言えない、というか遅い。 | Pythonはスクリプト言語で、計算速度は速いとは言えない、というか遅い。 | ||
- | だが、AtCoderでは1000点~などの高難度の問題でもない限り、きちんと実装すればほとんどの問題は通る。 | + | だが、AtCoderでは1000点~などの高難度の問題でもない限り、きちんと実装すればほとんどの問題は通る。(注: 高難度の問題も多くは通るはず。ただし自分が多くは解けてないので、その割合は知らない) |
この「きちんと実装すれば」がポイントで、逆に言うと %%C++%% などでは多少効率の悪いプログラムを書いても通ってしまうことがあるが、Pythonだとなかなかそうはいかない。 | この「きちんと実装すれば」がポイントで、逆に言うと %%C++%% などでは多少効率の悪いプログラムを書いても通ってしまうことがあるが、Pythonだとなかなかそうはいかない。 | ||
行 79: | 行 79: | ||
* AtCoderでは、PyPyという、Pythonコードを高速に実行する実行時コンパイル言語を使うことができる | * AtCoderでは、PyPyという、Pythonコードを高速に実行する実行時コンパイル言語を使うことができる | ||
* NumPyなど一部のライブラリが使えないが、基本的に同じコードで動き、書き換えの必要は無い | * NumPyなど一部のライブラリが使えないが、基本的に同じコードで動き、書き換えの必要は無い | ||
- | * これにより、スクリプト言語では計算量が厳しい問題でも通せたりする | + | * これにより、一般的なスクリプト言語では計算量が厳しい問題でも、PyPyなら通せたりする |
* デメリット | * デメリット | ||
* 遅い | * 遅い | ||
行 93: | 行 93: | ||
Python他の高機能言語も、計算量が問題にならない問題に対しては簡単に素早く書けるというメリットはあるとは思う。 | Python他の高機能言語も、計算量が問題にならない問題に対しては簡単に素早く書けるというメリットはあるとは思う。 | ||
- | 従って理想を言うなら言語の選択肢は多い方がいいが、その判断が競技中に適切に出来るかというと……まぁ難しいので、基本は高速な言語を優先した方がいい。 | + | 従って理想を言うなら両刀使いが強そうだが、言語の切り替え判断が競技中に適切に出来るかというと……まぁ難しいので、基本は高速な言語を優先した方がいい。 |
そうでは無くて、言語の習得がてらとか、元からPythonやってたとかで、敷居低く楽しみながら参加するのであれば、「Pythonでも十分戦えるよ」ということは言えると思う。 | そうでは無くて、言語の習得がてらとか、元からPythonやってたとかで、敷居低く楽しみながら参加するのであれば、「Pythonでも十分戦えるよ」ということは言えると思う。 |