競技プログラミングをどのように開始し、そのさまざまなトピックに精通していますか? あなたができることは何ですか?直接始めるか、最初にいくつかの概念を実行します。
3 に答える
これは Quora で非常によくある質問ですが、一般的に Stack Overflow の話題から外れていると考えられています。競技プログラミングのアドバイスとして SO を使用する最善の方法は、ソリューションをコーディングする際に抱えている問題について具体的な質問をすることです。たとえば、言語機能がどのように機能するかを尋ねる場合があります。多くの場合、その質問は既に尋ねられていることがわかります。
あなたの質問に対する 108 以上の Quora の回答は次のとおりです: https://www.quora.com/How-do-I-become-a-competitive-programmer
要約すると、問題の解決を開始します。この質問をしているので、プログラミングのバックグラウンドがあると確信している場合は、最初にたくさん読むよりも、始めるだけでより多くのメリットが得られます。何かに行き詰まったときは、本やオンライン リソースを読むときです。
何から始めたらよいか迷っている場合は、私のブログからの提案を参考にしてください: http://www.redgreencode.com/about-project-462/
私の 2 セント...
最良のオプションは、次のコーディング サイトに登録することです..
+ topcoder.com
+ codechef.com
+ hackerrank.com
そして、ここでコードをハッキングしながら、
+ データ構造
+ アルゴリズム
+ オペレーティング システムの概念
+ ネットワーキングの概念などについてさらに学習することで、プログラミングの基礎を構築できます ...
また、この分野の次の書籍を参照することもできます...
+アルゴリズム設計マニュアル
+プログラミングの課題: プログラミング コンテスト トレーニング マニュアル
+競技プログラミング 2
私のアドバイスは、特定のプログラミング言語で簡単なコードを書き、基本的な問題 (アルゴリズムを必要としないもの、または基本的なものを必要とするもの) を解決する方法を知っている場合は、競合プログラミング サイトに登録することです。
サイトの選択に関する私の提案は次のとおりです。
1)ハッカーランク:- https://www.hackerrank.com/
ここでは問題が適切に分類されています。ここで「簡単」とマークされた問題を練習し、続いて「中程度」の問題をいくつか練習してください。「30 日間のコーディング チャレンジ」を完了すると、Java 言語の基本的な知識が得られます。また、他の人のコードも確認してください。コードがすべてのテストケースに合格したとしても、社説。
2) SPOJ :-
「アドホック」に分類された問題をここで練習してください。ほとんどの人が解決できる問題を解決することから始めてください...通常、それらはより簡単になります。
3) 基本 (または標準) アルゴリズムの実装を開始します。Topcoder のチュートリアルやアルゴリズムの紹介から読むことをお勧めします。また、標準的な本も一緒に読んでください。これらのアルゴリズムに慣れるまで、これらのアルゴリズムに基づいて問題を練習してください。
4) 最も一般的なアルゴリズムに慣れたら、コーディングの課題に挑戦します。練習はあなたをより良くします。以前のコンテストの問題を解決してみてください。問題が発生するまで、できるだけ多くの問題を解決してください。次にB、Cなどに進みます。
それが役に立てば幸い :)
PS Quoraで次の回答も確認してください:-