事前コンテンツ1:アルゴリズムとデータ構造

メイン中央情報科学コンテストは、アルゴリズムとデータ構造です。

アルゴリズム(アルゴリズム)は、正確な問題解決ソリューションと完全な説明を参照し、問題を解決するための明確な一連の命令であり、このアルゴリズムは、体系的な方法で説明した問題を解決するためのポリシーメカニズムを表します。すなわち、特定の仕様では、限られた時間内に必要な出力を得るために入力することができます。

正確な、限定された抵抗、入力と出力、実現可能性:簡単に言えば、特定の問題を解決するためのアルゴリズムは、あなたには、いくつかの資質を持っている必要があります。

換言すれば、アルゴリズムは最初曖昧でなく決定されるべきである。第二に、限られた時間とステップ数以内に完了することができ、追加の入力および出力の必要性(入力ができないが、出力が必然的に必要とする);すべての基本的なすべての操作が完了することができます。

アルゴリズムの範囲に属するOIは、次のとおりです。

  1. 基本的なアルゴリズムは、次のとおり列挙、アナログ、貪欲、二点、ソーティング等。彼らは、他のアルゴリズムやデータ構造の基礎です。
  2. アルゴリズムを検索:幅優先探索(BFS)とその最適化、深さ優先探索(DFS)が含まれています。検索アルゴリズムは比較的近い暴力にですが、最適化されたコンテンツの多くは、このような反復は、*アルゴリズムを検索(ID-DFS)を深めて、そこにある、グループの人気とグループを改善NOIPに非常に重要です。
  3. 動的プログラミング(DP):動的プログラミングは、直鎖状、多次元動的プログラミング、動的プログラミングツリー、圧縮された状態の動的プログラミング、動的プログラミンググラフ理論を含み、DP、DPプラグを所望のように、ビット数DP、DPの動的拡張のいくつかの種類があるようなように。動的なプログラミングアルゴリズムは非常に重要である動的計画における競争のレベルに関係なく、困難です。
  4. グラフアルゴリズム:最短経路アルゴリズム(SP)、切刃無し最小スパニングツリー(MST)、トポロジカルソート、および切断点図、強連結成分(SCC)、二部グラフマッチングは、さらにネットワークを含みます最大流量、最小コストの最大流量とその上を流れ。グラフアルゴリズムは比較的新しい分野で、困難なセクションに簡単にから多くがあり、また非常に重要である(グループを改善するために、特にNOIPのグラフアルゴリズムで素晴らしいスコアを占めていたが、NOIPの人気グループめったにテスト対象にグラフ理論) ;
  5. ツリー関連アルゴリズム:最も近い共通祖先(LCA)、軽鎖および重鎖の分割、分割統治アルゴリズム点、差動木、木動的計画を含みます。これは、グループNOIP 2018を改善するために、例えば、6つの質問は、ツリーベースで3つの質問を持って、通常のアルゴリズムと一緒にゲームのメインのテストサイトとして、動的プログラミングや高度なデータ構造の一部です。
  6. 地方の選挙ながら、KMP試合、Manacher回文文字列アルゴリズム、接尾辞ソート、通常の文字列データ構造と組み合わせる最長の共通のプレフィックス(LCP)、NOIPは基本的にないテストを行うと、より高度なゲームが通常あります:文字列アルゴリズムは、タイトル文字列アルゴリズム。
  7. 数学的アルゴリズム:数論、組合せ論、線形代数、確率の期待、ゲーム理論、計算幾何学、多項式理論を含みます。これは数論におけるオイラーの定理が含ま/フェルマーの小定理/シュウペイ数論、BSGSアルゴリズム、拡張ユークリッドアルゴリズムのコンテンツ、および乗法逆メビウス反転の定理有名な定理;呂含む組合せ論CASS定理などスターリング、および除外の数;代数線形ガウスの消去法、線形空間、線形基、行列乗算、マトリックスの再発等が挙げられ、凸包を含む計算幾何学幾何学的物体座標系、等、スタック半平面クロス回転ベクトル乗算は、コア理論多項式は高速フーリエ変換です。数学的アルゴリズムや数学クラスの密接な関係、通常はありません(コンテンツの数が少ないに基づき除く)NOIPのテストサイトとして、主に地方の選挙と、より高度なゲームインチ

ある意味では、データ構造、アルゴリズムアップで構成されています。

データ構造は、コンピュータに格納され、データが編成されています。データ構造は、各セットの間の特定の関係の一つ以上のデータ要素の存在を指します。

簡単に言えば、データ構造は方法をリンクする一連のデータを整理することで、良好なデータ構造の設計を大幅に計算効率を向上させることができます。データ構造アルゴリズムは、データ構造は、アルゴリズムの効率を最適化するように逆にしてもよいです。

データ構造の範囲に属するOIが含まれています:

  1. リニアデータ構造:また、データ構造のリニアキューに属し配列、スタック、キュー、リンクリストなどを両端キュー、スタックモノトーン、モノトーンの最適化データ構造、を含みます。各データにより特徴づけられる組織データの鎖の形態の後継と先行を有します。そのようなデータ構造はNOIP審査普及基、競争のより高いレベルが簡単で一般アルゴリズムを結合してもよいです。
  2. ツリーデータ構造:ハフマンツリーのように、トライトライ、互いに素-セットを含みます。ツリーデータ構造は、非線形であり、そして、ノードは、後続(子ノード)の複数に対応することができるツリーが正確に同じ理論ではなく、加えて、各外側ルートノードは、唯一の親ノードを有します;
  3. バイナリヒープを含む、左翼木、木ライン、インデックスバイナリツリー(BIT、フェンウィック木、それはまた、一般的なツリー構造として理解することができる)、二分探索木(BST)、バランスのとれたツリーの品種:二分木構造(Treap、非回転Treap、スプレイ、身代わり木、AVL、赤黒木、等)、0-1Trie、データ構造耐久性のあるバージョン。バイナリツリーは、高度なトピックの多くは、バランスツリーが特に重要ツリーラインである、それらを維持するために必要な、おそらくデータ構造の最も重要なタイプです。
  4. アシストツリー構造:動的ツリー(LCT)を含む、支配ツリーのような最短パス木、最小カットの木、木ラウンド側、K-DTree。(外LCTを除く)を極め、通常は特別な問題ツリーやグラフ理論を解きます。
  5. ブロックデータ構造:ブロックを含むアレイ(ブロック)、及びブロックリストの様々なブロックタイプのデータ構造を維持しました。ブロッキングの問題は、他のデータ構造がブロックを完了するために使用することができる非常に多様で、高度にスケーラブルな、多くの機能を解決することができますが、複雑さが高いです。
  6. その他:処理文字列ACオートマトン、サフィックスオートマトン(SAM)、接尾辞配列(SA)、全体の半分CDQなパーティションなどのオフラインのデータ構造を処理するいくつかの問い合わせを含むパリンドロームオートマトン(PAM)を含む問題、 Moのチーム。Moのチームのデータ構造がより重要である場合は、接尾辞配列、サフィックスオートマトン、CDQの分割統治は、これらのデータ構造は、通常はNOIP、表示されていないだけで地方の選挙、より競争に表示されます。

もちろん、非常に多くのアルゴリズムとデータ構造は、突然のすべてを完了することはできないが、また、新しいアルゴリズムとデータ構造が発明されているがありました。異なるレベル、異なる制御要件について。

NOIPの人気グループ・レベル、マスター列挙、シミュレーション、基本的な線形のデータ構造のためにあなたは1-2の質問にやって保証することができ、および検索をマスターするために、動的なプログラミングは(もちろん、所有する移動するための基礎である)、貪欲、二つの点といくつかの非常に単純な木の種類も3-4タイトルに良い結果を得ることができます。

NOIPは、グループ・レベルを向上させるより上にするために、特にツリー関連するアルゴリズムおよびバイナリツリーの同時にグラフ理論は、図ツリーに関連して、これらをマスターすることも非常に重要であるが、木は、現在、主流のグループの試験の傾向を改善していますコンテンツが動的計画法を組み合わせることが非常に重要な、そしてより困難である、3-4質問(遊びと運を参照してくださいする必要が...)について、グループの改善に答えることができ、通常D2T2は、数学の問題であり、いくつかの単純な組み合わせと数論を学ぶことが適切です数学はまた、グループ余分なポイントの改善のお手伝いをすることができます。

地方選挙は/ NOIがグループを改善するよりもはるかに困難であり、かつ、増加した文字列のアルゴリズムとデータ構造列の観点からグループ(通常は文字列の地方選挙/ NOI大きな問題に比べて増加の上述した基本的な内容のすべてが表示されます、 SAM SAまたはこの種のものを見つけるためにではないが、それを行うのは難しいです)だけでなく、高度なデータ構造のため、このようなバランスの取れたツリー、ツリーラインの持続性などの要件の多くを向上させるために、バランスの取れたツリーは、永続的な0-1Trie、CDQすることができ持続性(テストはSCCやDCC ...にかなり簡単である場合)、グラフ理論の難易度が大幅に増加している一方、分割統治、Moのチームは、などの複雑なトピック二部グラフとネットワークストリームを、テストするために、数学のほかにも、難易度のリフティングを持っていますが、時には彼らも、期待する数学のテストも通常はいくつかの確率/または神メビウス反転のゲーム理論の問題をテストしない場合があります。ダイナミックプログラミングは大きな問題と木々強化され、難易度を高めることがあります。省地方の選挙でも、計算幾何学を添加することができる、一般的ではないテストを行うことは非常に洗練された多項式の理論、サボテンの木が、(上海を含む)弱い地方です。

おすすめ

転載: www.cnblogs.com/ix35/p/11973191.html