問題タブ [fenwick-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4457 参照

algorithm - インターバル、セグメント、フェンウィック ツリーは同じですか?

今日、フェンウィック ツリー (バイナリ インデックス ツリー) についての講義を聞きました。先生は、このツリーは区間ツリーとセグメント ツリーの一般化であると言いましたが、この 3 つのデータ構造の実装は異なります。この断言は本当ですか?なぜ?

0 投票する
1 に答える
2737 参照

data-structures - フェニックツリーを使用した増分範囲

Fenwick Tree(またはBinary Indexed Tree)を次のように変更できるかどうか疑問に思いました。

1)範囲内のすべての要素の周波数を特定の量だけ増加させます

2)単一要素の頻度を照会します。

これは、更新が単一の要素で実行され、クエリが範囲全体で実行される従来のフェンウィックツリーとは対照的です(逆フェンウィックツリーのようなものです)。

0 投票する
1 に答える
2252 参照

algorithm - 3 d のフェンウィック ツリー

私は 3 次元のフェンウィック ツリーデータ構造を持っています。(x0, y0, z0)からまでのセグメントの合計を計算する必要があります(x, y, z)

包含と排除の公式は何ですか? たとえば、2D バリアントの場合は

前もって感謝します

http://www.comp.nus.edu.sg/~stevenha/ft.pdf

2D の場合は次のとおりです。 ここに画像の説明を入力

0 投票する
1 に答える
1614 参照

algorithm - Binary Indexed Tree (Fenwick Tree) - 更新について

最近、Fenwick Tree (Binary Indexed Tree)データ構造について学びました。

クエリを実行すると、(idx & -idx) を減算する理由が理解できます。ただし、値を更新するときに (idx & -idx) を追加する理由がよくわかりません。

言い換えれば、単一の要素 x を更新することによって影響を受けるすべての間隔を更新する必要があることはわかっています。また、BIT[x] が最初に更新されることはわかっていますが、次のインデックスが更新される理由を理解できません。ビット[x + (x & -x)]

ありがとう。

0 投票する
1 に答える
5038 参照

algorithm - バイナリ インデックス ツリー (BIT) を使用して、特定の長さの増加するサブシーケンスの総数を見つける方法

バイナリ インデックス ツリー (BIT) を使用して、特定の長さの増加するサブシーケンスの総数を見つけるにはどうすればよいですか?

実はこれはSpoj Online Judgeからの問題です


配列があるとします1,2,2,10

長さ 3 の増加するサブシーケンスは1,2,41,3,4

したがって、答えは2です。

0 投票する
1 に答える
1440 参照

arrays - フェンウィック ツリーまたは BIT を使用した配列内の非減少サブシーケンスの最大合計

フェンウィック木を使用して、配列内の非減少サブシーケンスの最大和を見つけるにはどうすればよいですか? たとえば、1 4 4 2 2 3 3 1 がある場合、非減少サブシーケンスの最大合計は 11 (1 2 2 3 3) です。

0 投票する
1 に答える
2520 参照

c++ - SPOJ INVCNT - どうやって?

誰でもこのタスクを手伝ってもらえますかhttp://www.spoj.com/problems/INVCNT/。最初はビットウェイで考えようとしますが、できません。このタスクの解決策を BIT で説明できる人はいますか。ビット - バイナリ インデックス付きツリー c++

0 投票する
2 に答える
1453 参照

c++ - Fenwick-Tree から k 番目に小さい要素を見つけるための O(klogn) 時間アルゴリズム

kthフェンウィック ツリーで最小の実際の周波数を時間内に見つけることを意味しますO(k log(n))
私のデータが次の場合:

したがって、2 番目に小さい要素はインデックス 1 になります。