ディスカッションデータ構造 - ブロック

データ構造 - ブロック

ブロックは非常によく書かれたデータ構造、理解することは非常に簡単です。ブロックは、データ構造があるのではなく、むしろそれは「アルゴリズム」または偶数である「思考します。」個人的に、私が思うに、思想、そして分割統治は次のようにチャンク。回答の最後の完全な要約が大きな問題に来るの後に解決するために小さな問題、小さな問題の数に分割大きな問題:彼らの基本的な実装では、のように要約することができます。

基本的にブロックするようなものである:長さのために\(N \)配列、我々はにそれを破る(\ SQRT N \)\ブロック、(もちろん、各コースの要素の数である\ SQRT(\しますN \)番目)、我々は、各ブロックの暴力的な間隔を維持します。対処する最後できる\(\ sqrtのN \)サブ質問への答え、我々は問題の範囲をカウントしたい場合、我々はさらに暴力に統計を超えた個々のために、統計的な答えは完全にこのセクションで説明されてブロックすることができます。

データブロック構造としては、そのメンテナンスの列挙は、暴力に基づいています。このデータ構造と暴力的な列挙の違いは何ですか:あなたは思考かもしれ?列挙ブロックと、実際には非常に異なるが。最終集計は暴力で再従事することなく、統計のブロックであるとき、ブロックだけで実行するために、再度、すべてのブロックへの回答を処理することができますので、これがあります。ブロックの時間複雑です\(O(NlogN)\) 私たちはあなたはそれが暴力の列挙よりもはるかに速くすることができないことがわかります、カウントされます。実際には、実際に(例えば他のツリー線、フェンウィックツリーなど)最小効率の統計データ構造のすべてのセクションであり、それは、独自の利点を有する:、理解しやすく実装が容易。診察室で、我々は、高度なデータ構造(手のラインとツリーラインなど)のうち、自分自身をノック保証が正しい100%が、それは同様のブロックを書くために、単純な簡単に使用することがありますすることはできません-これはまた、実用的なデータ構造として、その存在理由であります毎日の激務フルマークは、しかし、カードデータ構造の場合には、意図的に60から80ポイントで取引をブロックされていないが、RP少し良くしてもAC問題ではありません。したがって、ブロックは確かに習得が容易で使いやすいです気晴らし技術をチートヒント。

おすすめ

転載: www.cnblogs.com/fusiwei/p/11432436.html