segment-tree

    0

    1答えて

    私が解決している問題の一部は、配列(RMQ)の範囲内で最小値を取得することを含むため、セグメントツリーを実装しました。次に、元の配列の1つの項目を更新したい(複数の更新がない)と、セグメントツリーで更新したい。私がこれまでに行ったことは、葉に達するまでセグメントツリーを上から下に横断していますが、これにはいくつかのバグがあるようです。ここにコードの更新部分がありますが、何が間違っているようですか?

    -3

    1答えて

    私はセグメント化されたツリーを作成しようとしていますが、ここで は、ツリーのノードのための私の構造体である: struct Node{ int x1, x2; // x coordinates int y1, y2; // y coordinates Node * v1; Node * v2; Node * v3; Node * v4;

    0

    1答えて

    私はgdbで次のコードを実行しようとしましたが、gdbではセグメンテーションフォルトは表示されませんがgdbはありませんスタンドアロンモードで次のコードを実行すると、このコードは、セグメントツリーを使用して実装された範囲合計クエリに関連しています。 #include <iostream> #include <vector> using namespace std; class segmen

    1

    1答えて

    セグメントツリーでは、セグメントツリーを配列の上に構築します。 たとえば、配列サイズが8 [0-7]の場合は、インデックス付けされます。セグメントツリー内のノードの 数は15、すなわち、第一、第二、第三、第四levls でしかし、問題では1,2,4,8、私はseg tree[2*N + 1]として構造体配列のサイズを宣言した場合、そのが間違って与えています私がそれを以下のように宣言すれば答えます。

    1

    2答えて

    Codeforces 671ディビジョン1 C(アレイの究極wierdness) BK ... VIはB1、B2、B3とします。私たちのl - rは少なくともこのインデックスの k - 1をカバーしなければならないことに注意してください。 lはb2以下でなければなりません。 私は解決策の最初の部分を理解することができましたが、誰かが上記の説明を説明することができます。あなたのため、適切ではない、そ

    2

    1答えて

    会議には、会社内ではn個の会議室が利用できます。あなたは特定のタイムスロットのために会議を予約する必要があります。指定された開始時間と終了時間で会議に利用可能な会議室の数を決定するアルゴリズムを作成します。 ヒント:会議が重複していない会議室が選択されます。 私が考えていたセグメントの木は、このためのO(logN個)を提供しますが、クエリごとの最適なアプローチ

    1

    1答えて

    プログラミングで過去の競争の問題を解決しているので、助けが必要です。問題を1つの文で説明します。 Nのサイズが10^5になる配列の配列があります。 2行目にはN個の要素があります。だから今度は配列から3つの要素を選ぶ方法を数えなければなりません。例は N = 4であり、配列は190,180,170,168のように見えます。これらの3つの要素を選択する方法は4通りあります。 1.(190,180,1

    1

    1答えて

    query()の最後の6行のロジックを理解するのに苦労しています。 これはspojの問題GSS1のコードです。 link #include <cstdio> #include <algorithm> #define MAX 70000 using namespace std; struct no { int lsum, rsum, msum; }; int array[ MAX

    1

    1答えて

    私は、セグメントツリー Thisブログ記事が同様のアプローチ を使用していますように私は間隔にリストを分割したい使用してfrequent valuesを解決しようとしています: -1 -1 1 1 1 1 3 10 10 10が(0, 2) (2, 6) (6, 7), (7, 10) なり 私は以下のコードを持っています: g s = map (\x->(head x, length x)) .

    5

    1答えて

    私は何かを理解しようと少しの助けを必要とする: 順不同番号(15.000未満)の配列を考える - - 私はQは(Q < = 100000)の照会に答える必要があります Aから[I、J]は全てを有する大きな(又は等しい)Xよりもが、yより小さい 何範囲内の数字:以下のように変換する形式I、J、X、Yのtの数彼は5000より小さい配列を持っています。 私は印象を受けていますが、シーケンスの長さが長いた