随笔分类 - 数据结构:线段树
摘要:【lowbit】 1 #define lowbit(x) x&(-x) 【单点修改】 1 void add(int pos, int k) 2 { 3 while (pos <= n) 4 { 5 tree[pos] += k; 6 pos += lowbit(pos); 7 } 8 } 【区间询问
阅读全文
摘要:【题目描述】 lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把
阅读全文
摘要:线段树,个人理解,生成一棵二叉树,树上的节点表示区间的答案,因为二叉树的性质天然就将树分成两半,所以可以用每个节点存左半边右半边,然后这样子就可以保证效率。 具体讲解是看这位大大的博客,图解和语言都很详细。 https://www.cnblogs.com/TheRoadToTheGold/p/625
阅读全文

浙公网安备 33010602011771号