本人也是刚学线段树,所以之前写了一道入门题目,发现自己老是超时。逐百思不得其解。后参考网上的代码发现基本有两种递归方法来访问目标区间:
1.目标区间不改(本人第一次学习时根据定义写的)
这种基本代码(a,b为目标区间)
if(a<=mid)
updata(lson,a,b,k,mod,c);
if(b>mid)
updata(rson,a,b,k,mod,c);
这种风格有个好处,就是容易理解。按照定义写出代码也简单。
本人也是刚学线段树,所以之前写了一道入门题目,发现自己老是超时。逐百思不得其解。后参考网上的代码发现基本有两种递归方法来访问目标区间:
1.目标区间不改(本人第一次学习时根据定义写的)
这种基本代码(a,b为目标区间)
if(a<=mid)
updata(lson,a,b,k,mod,c);
if(b>mid)
updata(rson,a,b,k,mod,c);
这种风格有个好处,就是容易理解。按照定义写出代码也简单。