直接上图,这就是线段树,可以看到,除了叶子节点,其余的都是区间,这不难想到线段树的用法:点修改和区间修改及询问。
我们可以从上往下建树,也可以反过来。
先说说怎么建树,我们不妨以从上往下来做,当我们想要修改[l,r]区间时,我们首先得修改[l,m]和[m+1,r]那么,我们不难发现这是一种递归。
所以说,从上往下是递归,反过来是迭代。
当我们修改点或区间时,得想到它会影响那些节点,进行修改,注意递归边界就行了。
代码就不给了,网上都有,可以看看后面几个例题就行了。
标签:image 迭代 区间修改 不难 图片 线段 ima bubuko 例题
直接上图,这就是线段树,可以看到,除了叶子节点,其余的都是区间,这不难想到线段树的用法:点修改和区间修改及询问。
我们可以从上往下建树,也可以反过来。
先说说怎么建树,我们不妨以从上往下来做,当我们想要修改[l,r]区间时,我们首先得修改[l,m]和[m+1,r]那么,我们不难发现这是一种递归。
所以说,从上往下是递归,反过来是迭代。
当我们修改点或区间时,得想到它会影响那些节点,进行修改,注意递归边界就行了。
代码就不给了,网上都有,可以看看后面几个例题就行了。
标签:image 迭代 区间修改 不难 图片 线段 ima bubuko 例题
原文地址:https://www.cnblogs.com/Alex-leaves/p/8452465.html