摘要: 关于线段树 给你一个数列A,要支持两个操作: 1.第x个数加v 2.求x到y这个区间的和 不要用树状数组做,用线段树。 线段树比树状数组看起来美观一点,它长这样。 它有两种存储方式: 1.动态存储,使用指针,struct 2.静态存储,直接用数组,下表遵循左儿子乘2,右儿子乘2加1的规则。 特别提醒 阅读全文
posted @ 2018-07-11 18:06 IXIS 阅读(181) 评论(0) 推荐(0)
摘要: 关于树状数组 线段树和树状数组在noip中本人觉得挺重要的,而且比较难写。 我们先来看树状数组。 look at 这个图 那么我们会发现一个有趣的性质。 设节点编号为n,那么这个节点管辖的区间为2k(其中k为n二进制末尾0的个数)个元素。 这个区间最后一个元素必然为An。 所以:Cn=A(n-2k+ 阅读全文
posted @ 2018-07-11 17:25 IXIS 阅读(212) 评论(0) 推荐(0)