图中 $d_1$ 表示根节点,紫色方框是数组 $a$ ,红色方框是数组 $d$ ,红色方框中的括号中的黄色数字表示它所在的那个红色方框表示的线段树节点所表示的区间,如 $d_1$ 所表示的区间就是 $[1,5]$ ( $a_1,a_2, \cdots ,a_5$ ),即 $d_1$ 所保存的值是 $a_1+a_2+ \cdots +a_5$ , $d_1=60$ 表示的是 $a_1+a_2+ \cdots +a_5=60$ 。
-通过观察不难发现, $d_i$ 的左儿子节点就是 $d_{2\times i}$ , $d_i$ 的右儿子节点就是 $d{2\times i+1}$ 。如果 $d_i$ 表示的是区间 $[s,t]$ (即 $d_i=a_s+a_{s+1}+ \cdots +a_t$ ) 的话,那么 $d_i$ 的左儿子节点表示的是区间 $[ s, \frac{s+t}{2} ]$ , $d_i$ 的右儿子表示的是区间 $[ \frac{s+t}{2} +1,t ]$ 。
+通过观察不难发现, $d_i$ 的左儿子节点就是 $d_{2\times i}$ , $d_i$ 的右儿子节点就是 $d_{2\times i+1}$ 。如果 $d_i$ 表示的是区间 $[s,t]$ (即 $d_i=a_s+a_{s+1}+ \cdots +a_t$ ) 的话,那么 $d_i$ 的左儿子节点表示的是区间 $[ s, \frac{s+t}{2} ]$ , $d_i$ 的右儿子表示的是区间 $[ \frac{s+t}{2} +1,t ]$ 。
具体要怎么用代码实现呢?