素晴らしい競争力のあるプログラミング
素晴らしいCompetitive Programming 、 Algorithm 、 Data Structureリソースのキュレーションリスト。
人々を情報につなぐために作成されたこのリストは、11年間の競争力のあるプログラミングキャリアの過程で私が収集したすべての素晴らしいリソースの完全なコレクションが含まれています。お役に立てば幸いです:)
競争力のあるプログラミングとは何ですか? - Quora
貢献
貢献してください。MDをフォローしてください。
共有することで貢献することもできます!
クラスメート、友達、そして全員とリストを共有してください:)
より多くの人々を情報に結びつけることによって、
あなたは、私ではありませんが、誰もが大きな好意を持っています!
もっと多くの人がこのリストから利益を得ることができることを本当に願っています:)
目次
- リストのリスト
- シラバス
- チュートリアルWebサイト
- オープンコース
- 本
- 練習のためのサイト
- キャンプとトレーニング
- 質問のサイト
- 実装
- 言語の詳細
- ツール
- コミュニティ
- ブログ| YouTubeとLiveStreams | Quora
- その他の素晴らしいリソース
- 記事| FAQS |素晴らしいリスト|インタビューの質問
- ライセンス
リストのリスト
トピックによって分類された素晴らしいキュレーションリスト。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | アルゴリズムとデータ構造に関する優れたブログ投稿リソース-CodeForces | Codeforcesユーザーが書いた素晴らしいチュートリアルブログ投稿のコレクション。興味深いものには、パリンドロームツリー、ポリシーベースのデータ構造などが含まれます。 |
| ★★★ | Codeforcesで見つかったすべての優れたチュートリアル-CodeForces | Codeforcesユーザーが書いたチュートリアルブログ投稿のもう1つの優れたコレクション。 |
| ★★★ | データ構造とアルゴリズム-Codechefディスカッション | 競争力のあるプログラミングリソースの非常に完全なリスト。ブラウザのブックマークに必須アイテム。 |
| ★★★ | ACM -ICPCの準備方法? -Geeksforgeeks | ACM-ICPCの準備の詳細なウォークスルー。 |
シラバス
学習する必要があるトピックを見つけてください。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | IOIシラバス | IOIの出場者がテストされる詳細なシラバス。これは、ACM-ICPCにまだ多少関連しています。 |
| ★★★ | ACM -ICPCの準備方法? -Geeksforgeeks | ACM-ICPCの準備の詳細なウォークスルー。 |
| ★★☆ | プログラミングキャンプシラバス | 運動問題を伴う競争上のプログラミングにおける重要なトピックのリスト。 |
| ★★☆ | Mostafa Saad Ibrahimによるジュニアトレーニングシート | 〜800の新人がdiv2-dに適しているために順序付けられた問題 |
チュートリアルWebサイト
素晴らしいチュートリアルを備えた素晴らしいウェブサイト。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | TopCoder Data Scienceチュートリアル | 尊敬されるトップコダーメンバーによって書かれたチュートリアルのリスト。多くのトッププログラマーは、ここからデータ科学を学習し始めました。 |
| ★★★ | e-maxx(ロシア語)、(英語) | ロシア語を話す競争力のあるプログラミングコミュニティで広く使用され、参照されているチュートリアルWebサイト。元のサイトの記事のほとんどは英語に翻訳されています。 |
| ★★☆ | アルゴリズム-Geeksforgeeks | さまざまなトピックに関するきれいに書かれた記事の大規模なアーカイブを備えたウェブサイト。これは、アルゴリズムコースに最適なリソースです。 |
| ★★☆ | ペグウィキ | 多くのトピックに関する驚くべき詳細なWikiのような記事を備えたWebサイト。私の意見では、ウィキペディアのものよりもはるかに優れています。 |
| ★★☆ | メモ-HackereArth | チュートリアル用の優れたクラウドソーシングプラットフォーム。また、コードモンクにアクセスしてください。 |
| ★★☆ | 米国コンピューティングオリンピアード(USACO) | ウェブサイトにいくつかのトレーニングページが含まれており、困難で多様なアルゴリズムの問題に対するソリューションをプログラミングするスキルを自分のペースで開発するように設計されています。 |
| ★★☆ | ベース | 基本的なアルゴリズムとデータ構造に関する詳細な図解チュートリアルを備えたブログ。 |
| ★★☆ | 競争力のあるプログラミング - CommonLounge | 初心者と中級の概念向けの短いビデオチュートリアル。さまざまなCPブログで利用可能な最高のものから選択された高度なチュートリアル。 |
| ★☆☆ | 情報学のオリンピック | 国際的なジャーナルは、才能のある学生に情報学と学習の分野で働いている専門家の研究と実践に焦点を当てています。 |
| ★☆☆ | アルゴリスト(ロシア語) | あらゆる種類のアルゴリズムに専念するロシアのウェブサイト。このウェブサイトにリストされているいくつかのトピックは、かなり興味深いようです。 |
| ★★☆ | 演算法筆記(アルゴリズムノート)(中国語) | 台湾の競争力のあるプログラミングコミュニティの中で最も人気のあるチュートリアルWebサイトの1つ。このウェブサイトのメンテナーは、アルゴリズムの調査に膨大な努力を費やしています。 |
| ★★☆ | 国家集训队论文999-2015(中国のIOIトレーニングキャンプからの論文)(中国語) | 中国のIOIトレーニングキャンプからの論文。さまざまな地域がさまざまなことを強調していると言うことができるという事実にとって興味深いことです。 |
| ★★★ | Mostafa Saad Ibrahimの研修生によるミニ編集者 | UVA/SPOJ/IOI/OLYMPIADの問題を含む多くの問題に対するミニ編集者のソリューション |
| ★★☆ | oi wiki(競争力のあるプログラミング)(中国語) | OI Wikiは、無料でオープンな継続的に更新されたプログラミングコンペティション(競争力のあるプログラミング)の知識統合サイトであることに取り組んでいます。このウィキは、何かを学ぼうとしている競争力のあるプログラマーのための一種のコンパニオンまたはガイドです |
オープンコース
これらの素晴らしいコースで競争力のあるプログラミングの旅を始めることを検討してください!
| ☆ | 名前 | 説明 |
|---|
| ★★☆ | Hackerearthによるコード修道士 | 競争力のあるプログラミングにおける重要なトピックに関する素晴らしい段階的なチュートリアル。 |
| ★★★ | スタンフォードCS 97SI:競争力のあるプログラミングコンテストの紹介 | 包括的な講義スライドと運動問題の短いリストを提供します。 |
| ★★☆ | コーディング競技に勝つ方法:秘密のチャンピオン | EDXでの競争コーディングに関するITMO大学によるコース。 |
| ★★☆ | Codechefのインドプログラミングキャンプ | Codechefのインドプログラミングキャンプ2016のビデオ講義。SergeyKulik、Kevin Charles Atienza、Anudeep Nekkantiなどのトップの競争力のあるプログラマーによる講義。主に、これらの概念を実際の競争コンテストの問題に適用することにより、これらの概念を探求することに焦点を当てています。 |
| ★★☆ | Reykjavik T-414-Aflv:競争力のあるプログラミングコース | BjarkiágústGuðmundsson(Superdewd)が教えた素晴らしいコース。これらの講義には、きちんとしたスライドと練習する問題の素晴らしいリストがあります。 |
| ★★☆ | NCTU DCP4631:問題解決とプログラミング技術 | 良い講義スライドを特徴とする基本的なトピックに関するコース。 |
| ★☆☆ | アラビア語の競争力のあるプログラミングYouTubeチャンネルからの資料(英語) | Mostafa Saad Ibrahimによる幅広いアルゴリズムトピックをカバーするいくつかの資料(スライドとソースコード)。 |
アルゴリズムとデータ構造のオープンコース
| ☆ | 名前 | 説明 |
|---|
| ★★★ | Prakhar1989/Awesome-Courses#algorithms | 著名な機関(MIT、スタンフォード、カリフォルニア州バークレーなど)が提供するオープンコースの素晴らしいリスト。 |
| ★★★ | MIT SMA 5503:アルゴリズムの概要 | チャールズ・レイザー教授(アルゴリズムの紹介の共著者の一人)とエリック・デメイン教授(データサイエンスの顕著なブレークスルーを行った素晴らしい教授)によって講義されているこのコースでは、直感的で包括的な分析を伴う素晴らしい素材を提供しています。 |
| ★★☆ | UIUCアルゴリズムコース | 講義ノート、故郷、試験、ディスカッションの問題は、幅広いアルゴリズムのトピックをカバーする問題 |
本
競争力のあるプログラミングのための推奨される本のリスト。
| ☆ | 名前 | 説明 |
|---|
| ★★☆ | スティーブンとフェリックス・ハリムによる競争力のあるプログラミング | この本には、関連するデータ構造、アルゴリズム、プログラミングのヒントのコレクションが含まれています。それは好評の本です。 ...初版は無料でダウンロード(PDF)です。 |
| ★★☆ | プログラミングの課題:Steven SkienaとMiguel Revillaによるプログラミングコンテストトレーニングマニュアルマニュアル | この本には、100を超えるプログラミングの課題と、それらにアプローチするために必要な理論と重要な概念が含まれています。問題はトピックによって整理され、完全なチュートリアル資料によって補足されます。 |
| ★★☆ | Antti Laaksonenによる競争力のあるプログラマーズハンドブック | 意欲的なIOIおよびICPCの出場者向けの競争力のあるプログラミングの紹介。無料ダウンロード(PDF)。 |
| ★★☆ | アルゴリズム思考:ダニエル・ジンガロによる問題ベースの紹介 | 競争力のあるプログラミングの問題(IOI、USACO、CCC/CCOなど)を使用してデータ構造とアルゴリズムを教える本。 |
| ★★☆ | 計算ジオメトリ:アルゴリズムとアプリケーション、Mark de Berg、Otfried Cheong、Marc Van Kreveld、Mark Overmarsによる | これは、幅広い計算幾何学の問題をカバーするよく書かれた本です。 |
| ★☆☆ | nite nimajnebによるプログラミングコンテストのヒッチハイカーガイド | この本は無料でダウンロード(PDF)です。この本は、競争力のあるプログラミングに関連するさまざまなトピックをカバーしています。 |
| ★★★ | プログラミングコンテストチャレンジブック(日本)、秋葉拓哉、岩田陽一、北川宜稔 | 絶対に驚異的な本。非常に首尾一貫した方法で編成された内容は、驚くべきことにほかなりません。 ...培養與鍛鍊程式設計的邏輯腦:世界級程式設計大賽的知識、心得與解題分享(中国の伝統) |
| ★★☆ | 算法竞赛入门经典(中国)、by by | アルゴリズムとプログラミングコンテストの芸術(英語)、打下好基礎:程式設計與演算法競賽入門經典(中国の伝統) |
| ★★☆ | 算法竞赛入门经典——训练指南(中国)、by by、陈锋 | 提升程式設計的解題思考力─國際演算法程式設計競賽訓練指南(中国の伝統) |
| ★★★ | 算法艺术与信息学竞赛(中国語)、刘汝佳、黄亮 | 昔のクラシック。古いですが、この本の内容は、今日の基準ではまだ非常に難しいと考えられています。 |
アルゴリズムのための本
| ☆ | 名前 | 説明 |
|---|
| ★★★ | アルゴリズムの紹介、トーマス・H・コルメン、チャールズ・E・レジャーソン、ロナルド・L・リベスト、クリフォード・スタイン | CLRS(名前のイニシャルから撮影)とも呼ばれるこの本は、アルゴリズムとデータ構造の「聖書」と呼ばれることがよくあります。これは、大学のアルゴリズムコースで最も人気のある教科書の1つです。この本は、さまざまなアルゴリズムとデータ構造を非常に詳細にカバーしました。文章はより厳格であり、一部の人にとっては難しい場合があります。 |
| ★★☆ | Jon KleinbergとévaTardosによるアルゴリズム設計 | この本は、アルゴリズムを設計するための手法を中心に展開しています。それはよく整理されており、明確で理解できる言語で書かれています。各章には、実用的な例と役立つ演習があります。ネットワークフローに関する章は、ロットによって高く評価されています。 ...教科書に付随する講義スライドは、公式ウェブサイトで入手できます。 |
| ★★☆ | Steven S. Skienaによるアルゴリズム設計マニュアル | この本は、より読みやすいテキストで書かれています。他の本よりも包括的なと感じる人もいます。また、公式Webサイトにいくつかの優れたリソース(著者自身のビデオ講義を含む)を見つけることができます。 |
| ★★★ | ロバート・セッジウィックとケビン・ウェインによるアルゴリズム | この本は、精巧な説明と素晴らしいイラストと相まって、きちんと分類されています。一部のIOIトレーニングキャンプで教科書として使用されています。 |
| Marcello La Roccaによる、高度なアルゴリズムとデータ構造 | この本は、アルゴリズムへの異なるアプローチを提供し、理論をより実用的な角度とバランスさせ、第一章ごとに、毎日の仕事や競争力のあるプログラミングに見られる実世界のユースケースにアルゴリズムを適用する方法に焦点を当てています。また、クラシックで高度な、新しいアルゴリズムのブレンドを提供します。 |
| ★★★ | アルゴリズム、ジェフ・エリクソン著 | CCの下で4.0でライセンスされた自己出版された教科書の無料の電子バージョン。これは、イリノイ大学の理論的コンピューターサイエンスコースの講義ノートからよく書かれた本です。バックトラッキング、ダイナミックプログラミング、貪欲、特にグラフの主なパラダイムを詳細にカバーしています。 |
| Marcello la Roccaによるグローキングデータ構造 | グローキングデータ構造は、アレイやリンクリストなどの最も基本的なデータ構造からグラフなどの強力な構造まで注意深くガイドします。それは初心者に最適であり、始めるために高校の数学以上のものは必要ありません。遭遇する各データ構造には、独自の完全なPython実装が付属しているため、すぐに学習したことの実験を開始できます。 |
数学のための本
| ☆ | 名前 | 説明 |
|---|
| ★★☆ | ケネス・H・ローゼンによる個別の数学とそのアプリケーション | 個別の数学は、競争力のあるプログラミングに密接に関連しています。この本は、ロジックとプルーフ、セット、機能、シーケンス、マトリックス、数字理論、カウント、確率、グラフ、ツリー、ブールアレグラを含む幅広いトピックに関する包括的な資料を提供します。 |
| ★★☆ | コンクリート数学:コンピューターサイエンスの基礎、ロナルドL.グラハム、ドナルドE.クヌース、オレンパタシニク | この本は、数字に関連したトピックをより重視して、個別の数学に関するより深い洞察を提供します。 |
| ★★☆ | 線形代数とそのアプリケーション、デビッドC.レイ、スティーブンR.レイ、ジュディJ.マクドナルド | この本は、物理システム(科学者とエンジニアのため)と抽象的なシステム(数学者向け)の間のギャップを埋めるのに素晴らしい仕事をしています。 |
| ★★☆ | チャールズM.グリンステッド、J。ローリースネル著、確率の紹介 | これはよく書かれた入門確率の本です。 ...無料でダウンロード(PDF)(GNU無料ドキュメントライセンスの下でリリース)。 |
| ★★☆ | それを解決する方法:G。polyaによる数学的方法の新しい側面 | 昔のクラシック。この本では、著者は問題を創造的に解決する体系的な方法を提供しています。 |
| ★★☆ | David Patrickによる中級カウントと確率 | カウントと確率のトピックバイフォーバーUSA数学的オリンピックの優勝者であるデイビッドパトリック、トピックには、包含 - 排除、1-1の対応、ピジョンホールの原則、建設的な期待、フィボナッチとカタロニアの数、条件付き確率、生成機能、グラフ理論などが含まれます。 |
練習のためのサイト
練習する優れたオンラインジャッジシステム /コンテストプラットフォーム。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | codeforces | Codeforcesは、そうでない場合、最も人気のあるコンテストプラットフォームの1つです。現在、サラトフ州立大学が維持しており、定期的なコンテストと無数の素晴らしいオリジナルの問題があります。さらに、すべてのコンテストは、著者自身が書いた(通常)即時の役立つチュートリアルを提供します。 Codeforcesには、強力で魅力的なコミュニティもあります。全体として、実際にここでは大いに学び、改善するでしょう。 |
| ★★★ | トップコダー | Topcoderは2001年から存在しています。歴史が豊富で、テクノロジーコンテストに関して最も有名な組織の1つと考えられています。何百ものSRMが豊富な問題を生み出しました。ここでの問題は通常、他のものよりも困難であり、トップコダーは多くのエリートプログラマーにアピールします。毎年恒例のTopCoder Open(TCO)も広く議論されているイベントです。 |
| ★★★ | Googleコードジャム | Google Code Jamは、確かに最も高く評価されているプログラミング競技の1つです。競争は、一定の時間で解決する必要がある独自のプログラミングの課題で構成されています。競合他社は、プログラミング言語と開発環境を使用してソリューションを取得する場合があります。 |
| ★★★ | atcoder | Atcoderは、高評価の日本の競争力のあるプログラマーのチームによって作成された新しいが驚異的なコンテストプラットフォームです。 |
| ★★☆ | Codechef | Codechefは、非営利教育イニシアチブです。これはグローバルな競争力のあるプログラミングプラットフォームであり、学生や専門家がコーディングスキルをテストおよび改善するのに役立つプログラマーの大規模なコミュニティがあります。その目的は、学生とプロのソフトウェア開発者の両方に、実践、競争、改善のためのプラットフォームを提供することです。これとは別に、学生が若い間に学生に手を差し伸べ、インドでのプログラミングの文化を教え込むことを目指しています。 |
| ★★★ | Spoj | SPOJプラットフォームは、オンラインジャッジシステムを中心としています。問題セッターのコミュニティによって作成された、または以前のプログラミングコンテストから取られた驚異的な量の問題を抱えています。その一部は、練習のための大きな問題です(問題分類子セクションを参照)。また、SPOJでは、高度なユーザーが独自のルールの下でコンテストを整理することもできます。 |
| ★★☆ | ティムス | TIMUSオンライン裁判官は、自動審査システムのプログラミング問題の最大のロシアのアーカイブです。問題は、ウラル連邦大学、ウラルチャンピオンシップ、ウラルACM ICPC小地域コンテスト、ペトロザボドスクトレーニングキャンプで開催されたコンテストから収集されます。 |
| ★☆☆ | HDU | HDUは、Hangzhou Dianzi大学が維持しているオンライン裁判官です。中国のIOIシーンからの多くの古典的な問題があります。 |
| ★★☆ | Aizuオンライン裁判官 | Aizu Online裁判官は、Aizu大学が主催するコンテストプラットフォームおよび問題アーカイブです。日本でのプログラミングコンペティションから多くの大きな問題があります。 |
| ★★☆ | UVA | 豊かな歴史を持つ昔ながらの問題アーカイブ /オンライン裁判官。多くの古典的な問題を含む何千もの問題がここで取り上げられています。ただし、「競争力のあるプログラミング演習」セクションに続いて、Uhuntで練習することを強くお勧めします。 |
| ★★☆ | ハッケランク | Hackerrankは、消費者と企業の両方にとって競争力のあるプログラミングの課題に焦点を当てた会社です。 Hackerrankのプログラミングの課題は、さまざまなプログラミング言語で解決し、複数のコンピューターサイエンスドメインにまたがっています。 |
| ★★☆ | poj | POJは、北京大学が維持している多くの大きな問題を抱えるオンライン裁判官です。ほとんどの中国の競争力のあるプログラマーはここで旅を始めました。プラットフォームは本当に日付が付けられているため、神秘的な編集とランタイムの問題が発生する可能性があります。 |
| ★★☆ | プロジェクトオイラー | Project Eulerは、優れた数学の問題の見事なセットを備えています。また、人々が議論できるフォーラムも開催しています。 |
| ★☆☆ | Hackerearth | Hackerearthは、インドのバンガロールに拠点を置くスタートアップテクノロジー企業で、採用ソリューションを提供しています。 |
| ★☆☆ | カリブ海のオンライン裁判官 | COJは、キューバにある情報科学大学(スペイン語の頭字語によってUCI)がホストしています。主にカリブ海およびラテンアメリカの問題セッターからのACM ICPCとプログレッシブコンテストスタイルを特徴としています。また、問題分類器とコンテストカレンダーもあります。 |
| ★★☆ | CSアカデミー | 競争力のあるプログラミングシーンでは、CS Academyは、2週間に1回競技会を開催するオンライン裁判官です。ライブチャット、インタラクティブなレッスン、統合されたオンラインエディター(実際に機能する)をサポートしています。 |
| ★★☆ | ロシアのコードカップ | Mail.ruグループを搭載したプログラミングコンテスト。競争は、3つの資格、1つの排除、1つの最終ラウンドで構成されています。各ラウンドについて、出場者には4〜8の問題が与えられ、固定時間で解決する必要があります。 |
| ★★☆ | コードファイト | CodeFightsは、競争力のあるプログラミングプラクティスとインタビューの準備のためのWebサイトです。さまざまな難易度の毎日の課題、問題のアーカイブ、および通常の(15分ごと)ミニトーナメントを特徴としています。初心者に適しています。 |
| ★★☆ | Omegaup(スペイン語) | Omegaupは、競争力のあるプログラミングトレーニングのためのコミュニティベースのWebサイトです。また、情報学のメキシコオリンピアード(Omi:Olimpiada Mexicana deInformática)がホストされている場所でもあります。 |
問題分類器
プログラミングの問題を分類するサイト。
そのトピックの関心と実践の問題のカテゴリ(例えばDP)を選択します。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | A2オンライン裁判官 | 混合 |
| ★★★ | 問題分類器 | Spoj |
| ★★☆ | UVAオンライン裁判官 | CPブック |
| ★☆☆ | CodeForcesタグ | CF(DP) |
| ★★☆ | ハッケランク | ハッケランク |
| ★★☆ | Mostafa Saad Ibrahimによるジュニアトレーニングシート | 〜800の新人がdiv2-dに適しているために順序付けられた問題 |
| ★★☆ | ラッキー貓的uva(acm )園地(中国語) | UVA |
| ★★☆ | TopCoder問題アーカイブ | カテゴリと複雑さレベルの問題のリスト |
コンテストカレンダー
差し迫ったプログラミングコンテストのカレンダー。
(別のコンテストを見逃すことはありません!)
| ☆ | 名前 | 説明 |
|---|
| ★★★ | プログラミングコンテストカレンダー-Hackerrank | Googleカレンダーのエクスポートが利用可能です |
| ★★☆ | clist.by | 使用可能なAPI |
| ★★☆ | コーディングカレンダー(Androidアプリ) | |
| ★★☆ | コーダーのカレンダー:Androidアプリ、Chrome Extension、Firefoxアドオン | |
| ★★★ | Codehorizon:iOSアプリ、Androidアプリ | |
| ★★★ | 競争力のあるプログラミングコンテストカレンダー | Googleカレンダーのエクスポートが利用可能です |
質問のサイト
これらは質問をするのに最適なサイトです。
コードをIDEONE、パスペビン、またはその他のサイトに貼り付けて、問題のフォーマットを避けます。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | codeforces | 簡単な回答のために、Codeforcesは間違いなく競争関連の何かについて尋ねるのに最適な場所です。 |
| ★★★ | 競争力のあるプログラミング - Quora | 通常、Quoraについてもっと精巧な答えを得ることができますが、すぐに質問に答えないかもしれません。 |
| ★★☆ | 理論的なコンピューターサイエンススタック交換 | この場所は一般的に学者向けですので、ここでコンテストの問題について質問しないでください。 |
キャンプとトレーニング
オンライントレーニングとキャンプ。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | Mostafa Saad Ibrahimによるオンライン無料の問題解決コーチング | コーチングの詳細と人々はその性質/品質についてコメントしてください。 |
実装
アルゴリズムとデータ構造の実装。
| ☆ | 名前 | 説明 |
|---|
| ★★★ | Andrey NaumenkoによるCodelibrary(Indy256) | Codelibraryには、JavaおよびC ++のアルゴリズムとデータ構造のための実装の大規模なコレクションが含まれています。また、彼のgithubリポジトリにアクセスすることもできます。 |
| ★★★ | Spaghetti-Source/Algorithm、Takanori Maehara(@tmaehara) | 多くのハードアルゴリズムとデータ構造の高品質の実装。 |
| ★★★ | KTH競争プログラム/KACTL、Simon Lindholm(Simonlindholm)et al。 | KTH Royal Institute of Technologyの驚異的に組織され、文書化され、テストされたチームノートブック。私が今まで見た中で最もよく作られたチームノートブック(コンテストライブラリ)の1つ。 |
| ★★☆ | Jaehyunp/Stanfordacm | スタンフォードのチームノートブックは十分に維持されており、内部のコードは高品質です。 |
| ★★☆ | ngthanhtrung23/acm_notebook_new、チームRRワタメダ(i_love_hoang_yen、flashmt、nguyenhungtam) | RR Watamedaは、2016 ACM-ICPCワールドファイナルでシンガポール国立大学を代表しました。このノートブックのアイテムは、かなり標準的でよく組織化されています。 |
| ★★☆ | Bobegei81123/bcw_codebook、国立台湾大学のTeam bcw0x1bd2(darkhh、bobegei81123、step5) | BCW0X1BD2は、2016 ACM-ICPCワールドファイナルのために国立台湾大学を代表していました。このノートブックには、高度なデータ構造とアルゴリズムの堅牢な実装が含まれています。 |
| ★☆☆ | foreverbell/acm-icpc-cheat-sheet、by foreverbell(foreverbell) | 中国情報学のシーンからのいくつかの高度なデータ構造とアルゴリズムを含むノートブック。 |
| ★☆☆ | Igorのコードアーカイブ、Igor Naverniouk(Abednego) | 現在Googleのソフトウェアエンジニアであり、Google Code Jamチームの一部であるIgor Navernioukによる優れたノートブック。 |
言語の詳細
言語やその他の知識。
C/C ++
| ☆ | 名前 | 説明 |
|---|
| ★★☆ | 標準テンプレートライブラリを使用したC ++を電源アップ - トップコダー:パート1、パート2 | 基本的なC ++ STLに関する入門チュートリアル。 |
| ★★☆ | c ++入力/出力で再び - コードフォース | C ++ I/Oの最適化の詳細をご覧ください。 |
| ★★☆ | C ++トリック-CodeForces ...プログラミングコンテストで使用するクールなC ++トリックは何ですか? - Quora | 競争力のあるプログラミングのための豊富なC ++トリック。一部は注意して使用する必要があることに注意してください。 |
| ★★★ | C ++ STL:ポリシーベースのデータ構造 - コードフォース:パート1、パート2 | GNU C ++で実装されている追加のデータ構造の詳細な紹介。公式のドキュメントはこちらをご覧ください。 |
| ★☆☆ | C ++ 11 FAQ(英語、中国語、ロシア語、日本、韓国語) | C ++ 11に関するFAQのリストは、C ++の作成者であるBjarne Strooustrupによって収集および執筆されました。 |
Java
| ☆ | 名前 | 説明 |
|---|
| ★★☆ | Javaで入力を読む方法 - チュートリアル - コードフォース | 入力をより速く読む方法を学びます。これは、競争力のあるプログラミングにJavaを使用するつもりの人にとって必読です |
| ★★☆ | Javaで配列を並べ替えてtleを避ける方法-CodeForces | Quick Surtの最悪のケースを打つことを避ける方法に関するいくつかのヒント |
| ★★☆ | JavaのBignum Arithmetic - Bigintegerを上回りましょう! - コードフォース | 基本的だが高速なカスタムビッグインテガークラス |
| ★★☆ | EZコレクション、EZ Life(コンテストのための新しいJavaライブラリ) - CodeForces | Alexey Dergunov(Dalex)が書いたコンテストのためのJava Library。 ArrayList、ArrayDeque、Heap、Sort、Hashset、Hashmap、Treeset、Treemap、TreeList、Pairクラスが実装されています |
その他
| ☆ | 名前 | 説明 |
|---|
| ★★★ | ビットツイッドリングハック | ビット操作のトリックの巨大なコンパイルされたリスト。 |
| ★★★ | フローティングポイント番号の比較、2012年版 - ランダムASCII | 浮動小数点数について知る必要があるすべて。幾何学的なトピックについては、特に読む必要があります。 |
| ★★☆ | オブジェクト指向のCスタイル言語:C ++、Objective-C、Java、C# - 並んで参照シート | 一般的な構文の詳細な並んで参照シート。 |
ツール
あなたの人生を楽にする素晴らしいツール。
ides
| ☆ | 名前 | プラットフォーム | 説明 |
|---|
| ★★★ | vim | CLI /クロスプラットフォーム | VIMは、上級プログラマーの中で最も人気のあるテキストエディターの1つです。これにより、キーストロークのみでテキスト編集を非常に効率的に行うことができます。また、VIMは高度に構成可能で、拡張可能であり、シェル(コマンドライン)と非常によく統合されています。 VIMについての唯一のset折は、初心者に高い学習曲線を持っていることです。 |
| ★★★ | emacs | CLI /クロスプラットフォーム | EMACSは、もう1つの人気のあるテキストエディター(またはより正確になるように開発環境)です。 「Vim vs. Emacs」に関する議論は、彼らの人気のために絶えず育てられています。基本的にEMACSは単なるテキストエディター以上のものです。ファイルマネージャー、Webブラウザー、メールクライアント、ニュースクライアントなどのプラグインがあり、ユーザーがEMACS内で直接これらのタスクを実行できるようにします。このため、EMACSは「重い」ものですが、初心者向けの学習曲線が比較的簡単になることは間違いありません。 |
| ★★★ | 遠いマネージャー | ハイブリッド /ウィンドウ | Far Managerは、RU/CISの競争力のあるプログラミングコミュニティで最も広く使用されているエディターです。実際、それは裸の骨のファイルマネージャーですが、Farcolorer -Syntax Highlighterプラグインをプログラムすることができます。適切に構成されているFAR Managerを使用すると、コードを書きながらファイル間で非常に効率的にナビゲートできます。 |
| ★★★ | コード::ブロック | GUI /クロスプラットフォーム | コード::ブロックは、C/C ++の頼りになるIDEです。これは、多くの優れた機能を備えた本格的で多目的なIDEです。コード::ブロックは通常、プログラミングコンテストでVIMとともに提供されます。 |
| ★★★ | Intellijのアイデア | GUI /クロスプラットフォーム | Intellijのアイデアは、確かにJavaにとって最高のIDEの1つです。 Javaを主要な言語として使用するほとんどの競争力のあるプログラマーによって使用されています。プログラミングコンテスト用に書かれた非常に便利なプラグインであるChelperを必ずチェックしてください。 |
| ★★☆ | 崇高なテキスト | GUI /クロスプラットフォーム | Sublime Textは並外れたテキストエディターです。複数の世話、ミニマップ、コマンドパレットなどの強力で革新的な機能が満載されており、強力で魅力的なコミュニティを引き付けます。崇高なテキストは非常に拡張可能ですので、パッケージ制御をインストールして、おそらく最大のプラグインカタログの1つを探索してください! |
| ★★☆ | 日食 | GUI /クロスプラットフォーム | Eclipseは、Javaにとってもう1つの良いIDEです。それはIntellijのアイデア(今日の基準によるアイデアよりも少し劣っている)に代わる大丈夫です。コンテストは何らかの理由で日食のみを提供することがあるため、これは日食を試してみようとする良いインセンティブかもしれません。 |
| ★★☆ | クリオン | GUI /クロスプラットフォーム | JetbrainsがプロデュースするClion -Intellijのアイデアを作った同じ会社は、C ++の強力なIDEです。無料の教育ライセンスを利用できます。または、2018年4月時点でまだ無料のEAP(アーリーアクセスプログラム)を試してみることができます。コード検査機能をオフにすることをお勧めします。 |
| ★☆☆ | 他のIDES | 混合 | Visual Studioは、C#でコーディングする場合に使用するIDEです。 ... AtomとVisual Studioコードの両方は、電子(JavaScriptで書かれている)で構築されているため、多少リソースホーギングです。 ... CodeLiteは新たに上昇するIDEです。ロードアップとプロジェクト作成の時間が並外れている可能性があることに注意してください。 |
個人的な使用
| ☆ | 名前 | 説明 |
|---|
| ★★★ | VisualGo | アルゴリズムとデータ構造のための視覚化ツールの大規模なコレクションを備えたWebサイト。 |
| ★★★ | 一般的な練習ヘルパー:... Chelper(Intellij Idea)(マニュアル)... Caide(Visual Studio、CodeLite、Standalone Command Line App)... Jhelper(AppCode、Clion)Online-Judge-Tools(スタンドアロンCLIツール、積極的に維持されます。) | コンテストを解析し、ライブラリコードをインラインにし、テストフレームワークを提供する優れたツール。彼らはあなたをあなたをあなたをあなたの貴重な時間を窓の切り替えやコピーパスチャをやり取りに費やすことから救います。 |
| ★★☆ | CodeForcesパーサー:... codeforcesパーサー... gocf ... cfparser(emacs)cfparser(cli) | これらのツールは、コードフォースのコンテストの問題を解析し、サンプルテストの実行に役立ちます。 |
| ★★★ | 整数シーケンスのオンライン百科事典(OEIS) | 無数の整数シーケンスのデータベースを備えた見事な百科事典。また、強力な検索エンジンも備えています。一見困難な組み合わせの問題が、単純または研究された整数シーケンスに相当する場合があります。 |
| ★★☆ | 構文ハイライター:... tohtml.com ... markup.su ... hilite.me | かなりフォーマットされたコードスニペットを備えたスライドまたはチームノートブックを作成するのに非常に便利です。強調表示されたコードスニペットをコピーして、お気に入りのWysiWyg(What-You-see-is-you-get)エディターに貼り付けてください! |
| ★★☆ | コード共有:... ideone.com ... Pastebin.com ... Ubuntu Pastebin | これらのツールは、コード共有のための半多数ページを生成します。特に、他の誰かにあなたのコードを調べさせようとしているときは非常に便利です。 |
| ★★☆ | 言いようのない | ローカルグレーディング用のシンプルなコマンドライングレーダー。 |
| ★★☆ | udebug | UVAオンラインジャッジの問題にユーザー指定の入力に予想される出力を提供するプラットフォーム。いくつかの問題は、デバッグのための追加のテストケースも提供します。 |
コンテストの準備
| ☆ | 名前 | 説明 |
|---|
| ★★★ | ポリゴン | Polygonは、プロのコンテストの準備のためのプラットフォームと豊富なツールセットを提供します。 ...例:testlib.hを備えたバリデーター - コードフォース |
| ★★☆ | グラフエディター | グラフを作成および視覚化する素晴らしいツール。 |
| ★★☆ | tcframe | 競争力のあるプログラミング問題のテストケースを生成するためのC ++フレームワーク。 |
| ★★★ | バーチャルジャッジ(vjudge) | Virtual Judge(Vjudge)を使用すると、ユーザーは顕著な問題アーカイブから問題を抱えた仮想コンテストを作成できます。 |
| ★★☆ | BNUオンライン裁判官 | BNUオンラインジャッジでは、ユーザーが仮想コンテストを作成することもできます。 |
| ★★☆ | カティス | Kattisはコンテストの準備を支援します(支援のために電子メールを送信します)。 |
コミュニティ
神のような競争力のあるプログラマーに会いましょう!
これらの人々から役立つヒント、チュートリアル、洞察を学ぶ:)
ブログ
| 名前(ハンドル) | ブログ名 |
|---|
| Codeforcesブログ |
| Petr Mitrichev(Petr) | 毎週アルゴリズム |
| 真島城(rng_58) | RNG_58のブログ |
| ブルース・メリー(bmerry) | エントロピーは常に増加します |
| przemysławdębiak(Psyho) | Psyhoのブログ |
| anudeep nekkanti(anudeep2011) | 名前空間anudeep;) |
| ベクソリア語(ベクソリア語) | ベクソリア人のブログ |
| アシャール・フアディ(フシャール) | Fusharのブログ |
| lijie Chen(wjmzbmr) | wjmzbmr(中国語) |
| huang i-wen(dreamoon) | 小月的耍廢日誌(中国語) |
| Shiang-Yun Yang(Morris1028) | モリスのブログ(中国語) |
| Yuhao du(Toodifficuit、Toosimple、Xudyh) | Xudyh(中国語) |
YouTubeとライブストリーム
| 名前(ハンドル) | リンク |
|---|
| Petr Mitrichev(Petr) | YouTube |
| Ravindrababu Ravulaによるゲートレクチャー | YouTube |
| Mostafa Saad Ibrahim(mostafa.saad.fci) | 競争力のあるプログラミングYouTube(アラビア語音声 - 英語テキスト) |
| Tushar Roy | YouTube、多くのチュートリアルビデオがあります。 |
| Geeksforgeeks | YouTube |
| アルゴリズムライブ! | YouTube |
| Codechef | YouTube |
| ハッケランク | YouTube |
| idServe | YouTube |
| code_report | YouTube、Hackerrank、LeetCode、TopCoder、Codeforcesのコンテストの更新と問題のチュートリアル。 |
| アルゴリズムのオオカミを「sothe」 | YouTube |
| Egor Kulikov(Egor) | YouTube |
| Adam Bardashevich(加入者) | YouTube |
| Bohdan Pryshchenko(i_love_tanya_romanova) | Twitch、YouTube |
| ウラジミール・スミカロフ(enot.1.10) | Twitch、YouTube |
| Aleksandar Abas(ALEX7) | YouTube |
| ミハイル・ティコミロフ(エンダゴリオン) | YouTube |
| カミル・ボフスキー(エリッヒ) | YouTube |
| David Harmeyer(SecondThread) | YouTube、社説、高品質の講義(高度なトピック) |
| mycodeschool | YouTube、基本的なプログラミング、データ構造、アルゴリズムに関する高品質のビデオ |
| ウィリアム・リン(tmwilliamlin168) | YouTube、主にストリーミング、ヒントですが、刺激的で、時には洞察力があります |
| codencode(kazama460) | YouTube、グラフ理論、数字理論、DP、高度なデータ構造など、さまざまなCP関連トピックをカバーする短い講義。 |
| コリン・ガレン(galen_colin) | YouTube、社説、スクリーンキャスト |
| ウィリアムフェセット | YouTube、ほぼすべてのデータ構造をカバーする高品質のビデオ、アルゴリズム |
Quora
競争力のあるプログラミングをご覧ください-Quora(最も視聴されている作家のトップ10)。
| 重要なコミュニティの数字 | 説明 |
|---|
| ビルポーチャー | ACM-ICPCのエグゼクティブディレクター。ベイラー大学のCS教授。 |
| MichalForišek(Misof) | iPSCおよびIOIのオーガナイザー。スロバキアのコメニウス大学のCS教師。アルゴリズムおよびCS教育研究者。元高評価の競争力のあるプログラマー。 |
| アーメド・アリー(ahmed_aly) | A2OJの創設者。 HackerRank Lead Software Engineer. Former member of the Google Code Jam team. |
| Competitive Programmers | | |
|---|
| Thanh Trung Nguyen (I_love_Hoang_Yen) | Brian Bi (bbi5291) | Jonathan Paulson (jonathanpaulson) |
| Miguel Oliveira (mogers) | Egor Suvorov (yeputons) | Michal Danilák (Mimino) |
| Bohdan Pryshchenko (I_love_Tanya_Romanova) | Vladimir Novakovski (vnovakovski) | Nick Wu (xiaowuc1) |
| Cosmin Negruseri | Lalit Kundu (darkshadows) | Ashish Kedia (ashish1294) |
| Johnny Ho (random.johnnyh) | Joshua Pan (lonerz) | Anudeep Nekkanti (anudeep2011) |
| Steven Hao (stevenkplus) | Raziman TV (razimantv) | |
Other Awesome Resources
記事
Informative and helpful articles
| 主題 |
|---|
| Overview of Programming Contests, by Przemysław Dębiak (Psyho) |
| The 'science' of training in competitive programming - Codeforces, by Thanh Trung Nguyen (I_love_Hoang_Yen) |
| If you ask me how to improve your algorithm competition skill, I will give you the link of this blog. - Codeforces, by Huang I-Wen (dreamoon) |
| How to prepare for ACM - ICPC? - GeeksforGeeks, by Vishwesh Shrimali |
| Complete reference to competitive programming - HackerEarth, by Ravi Ojha |
| Getting started with the sport of competitive programming - HackerEarth, by Triveni Mahatha |
FAQ
Fine answers to frequently-asked questions
| 質問 |
|---|
| How do I start competitive programming? - Quora |
| How can I become good at competitive programming? - Quora ... What is the best strategy to improve my skills in competitive programming in 2-3 months? - Quora ... What is a good 6 month plan to start and progress through competitive programming? - Quora |
| How is competitive programming different from real-life programming? - Quora |
| What have you gained from competitive programming? - Quora |
Awesome Lists
Relevant awesome lists
| 名前 | リンク |
|---|
| C++ Books | The Definitive C++ Book Guide and List - Stack Overflow |
| Java Books | What are the best books to learn Java? - Quora |
| Advanced Java Books | What is the best book for advanced Java programming? - Quora |
| アルゴリズム | tayllan/awesome-algorithms |
| Algorithm Visualization | enjalot/algovis |
| 数学 | rossant/awesome-math |
| C++ | fffaraz/awesome-cpp |
| Java | akullpp/awesome-java |
| Courses | prakhar1989/awesome-courses |
| Free Programming Books | vhf/free-programming-books |
| Community-curated C++ Resources | Hackr.io |
Interview Questions
| 名前 | 説明 |
|---|
| CareerCup | The most popular website for software engineering interview preparation. |
| InterviewBit | Features intriguing and refreshing game-play designs which are designed to invoke one's interest in practicing. |
| Awesome Interviews | A curated list of awesome interview questions |
| leetcode | Well-organized website for software engineering interview preparation with best explanined solutions. |
ライセンス
Awesome Competitive Programming is licensed under a Creative Commons Attribution 4.0 International License.