数据皆狗
番茄你个西红柿i
咸鱼一条.
展开
-
数据皆狗之树状数组
树状数组贼强。 树状数组支持单点修改和区间求和。 树状数组的精髓在于lowbit数组,lowbit[i]是将i化为二进制后从右往左第一位数字为1的位置代表的值。 比如: 8化成二进制是100,从右往左数第三位是第一个1,代表的值是8. 如何求lowbit呢? 这里有一个很神奇的操作: int lowbit(int t)//求lowbit { return t&(-t...原创 2018-03-30 21:19:59 · 102 阅读 · 0 评论 -
数据皆狗之线段树(模板)
线段树是一种超强的数据皆狗,支持区间查询,区间修改,单点修改,区间求和和其他变形问题。 线段树强大在于它平摊了查询和修改的时间复杂度。 线段树概念没啥好讲的,我们直接看模板题。 然后代码: #include<bits/stdc++.h> using namespace std; const int maxn=100001; int a[maxn]; struct stree...原创 2018-04-12 20:20:18 · 158 阅读 · 1 评论