セグメントツリーでは、セグメントツリーを配列の上に構築します。
たとえば、配列サイズが8 [0-7]の場合は、インデックス付けされます。セグメントツリー内のノードの
数は15、すなわち、第一、第二、第三、第四levls
でしかし、問題では1,2,4,8、私はseg tree[2*N + 1]
として構造体配列のサイズを宣言した場合、そのが間違って与えています私がそれを以下のように宣言すれば答えます。セグメントツリーの配列サイズデータ構造
struct seg{
int sum;
};
seg tree[4*N + 1];
それは間違った答えです。私の疑いは、[2 * N]で十分だということです。それでなぜそれが間違った答えを出すのですか?
番号9、親はそう左の子が2番号4であるた有するノードセグメント(1-1)* N右の子はn
は、初期配列の大きさとする2 * N + 1
コードにバグがあります –
どのようなバグですか? – Sparrow
私のクリスタルボールを出しましょう –