![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
overcastt
这个作者很懒,什么都没留下…
展开
-
cf703D. Mishka and Interesting sum(树状数组)
题目cf703d 求区间内出现次数为偶数的数的的异或和题解要是求奇数就都会了是吧,它它它偏偏求偶数哎呦喂真是的 我们知道一个数异或两次就相当于没有 所以..出现次数为偶数的异或和=区间所有数的异或和^区间内出现过的数的异或和 这样出现次数为奇数的就没了嘿嘿嘿真棒 区间内所有数的好求,那怎么求出现过的数的呢 记录每个数上一次出现的位置pos 然后…就..这样吧(表达能力...原创 2018-03-25 22:41:26 · 206 阅读 · 0 评论 -
求区间种类数——树状数组
一提到求区间种类数….脑子里满是莫队啊啊啊怕不是没救了……..题意很简单,就是求区间内有多少个不同的数那怎么做呢qaq 树状数组诶!把所有询问按右端点排序,然后每次加到这个点树状数组按位置建哦 那么树状数组上每个点就记录第一个点到此点有多少个数,因为此时查询的右端点是一点定的,所有每个数都记他最后一次出现的位置,这样也可以保证不会重。 而且查询的时候,因为左端点不一定,所以答案...原创 2018-05-24 09:05:39 · 1732 阅读 · 2 评论 -
bzoj2754: [SCOI2012]喵星球上的点名 (后缀数组+树状数组+莫队)
哇哇哇哇!我终于…改对了!!! 太不容易了!!!!!这题啊…..据说….ac自动机模板或者后缀数组暴力就可以了…然后..也确实可以… 但是…亲爱的洛谷!他..加了一个测试数据!然后就…过不去了【再见】 所以…就要…改进…十分凶残(好久没写这么长的了qaq)这题第一问是求每个点名串是多少个姓名串的字串 所以呢..我们可以用后缀数组求出height数组(这里要把姓名串和点名串连起来一起...原创 2018-05-24 14:39:25 · 316 阅读 · 0 评论 -
bzoj4361: isn (dp+树状数组+容斥)
Problem给你一个序列,若此时这个序列不是非降的,那么从中删除一个数,知道删到非降为止。问有多少种操作方案Solution定义 f[i]f[i]f[i] 表示长度为 iii 的非降子序列个数容斥一下, ans=∑f[i]∗(n−i)!−f[i+1]∗(n−i−1)!∗(i+1)ans=\sum f[i]*(n-i)!-f[i+1]*(n-i-1)!*(i+1)ans=∑f[i]∗(n...原创 2018-09-18 19:01:10 · 194 阅读 · 0 评论 -
洛谷P4514 上帝造题的七分钟(二维树状数组)
Solution二维树状数组 求 (x1,y1)(x1,y1)(x_1,y_1) 到 (x2,y2)(x2,y2)(x_2,y_2) 的和 sum=sum[x2][y2]−sum[x1−1][y2]−sum[x2][y1−1]+sum[x1−1][y1−1]sum=sum[x2][y2]−sum[x1−1][y2]−sum[x2][y1−1]+sum[x1−1][y1−1]sum=sum[x...原创 2018-09-14 18:28:11 · 235 阅读 · 0 评论