随笔分类 -  数据结构--线段树

摘要:https://www.luogu.org/problemnew/show/1438 lazytag记录一下某个区间需要加的等差数列的首项和公差。由于区间长度已知(r-l+1),仅由此就可以推出这个区间每一个数要加上的数。 可以发现两个等差数列每一项相加,得到的还是等差数列,而且是首项和公差分别相加 阅读全文
posted @ 2017-11-05 22:17 hehe_54321 阅读(380) 评论(0) 推荐(0)
摘要:原理倒是非常简单。设原数为x,加法的lazytag为b,乘法的lazytag为a,操作数为c,那么原式为ax+b,乘上c后(ax+b)c=(ac)*x+b*c,加上c后(ax+b)+c=ax+(b+c),因此加法时只需要更新加法的lazytag,乘法的时候就需要同时乘乘法和加法的lazytag。(乘 阅读全文
posted @ 2017-10-18 19:48 hehe_54321 阅读(529) 评论(0) 推荐(0)

AmazingCounters.com