![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
文章平均质量分 58
树状数组题集
9ack!?
在校苦逼男
展开
-
树状数组模版+例题
树状数组是一种维护区间和的数据结构,支持单点查询。经过魔改后也可以进行区间修改-单点查询,区间修改-区间查询。你问为什么没有单点修改,单点查询?因为数组就可以解决了哈哈。我这里就不介绍原理了,网上一搜一大把。............原创 2022-08-02 10:46:16 · 140 阅读 · 0 评论 -
Luogu P1908: 逆序对 [树状数组]
这里用到了一个离散化的思想:假设原本的数组是这个样子的{1, 2, 5, 900},我们要对每个元素出现的次数进行计数,那我们就需要开长度为900的数组,但是我们求解逆序对的时候并不需要知道每个数字的具体大小,只要知道他们之间的相对大小关系即可。接下来我们就要利用这个d数组来求解原数组中的逆序对的个数了,仔细思考一下,发现原数组中逆序对的个数就是d数组中正序对的个数。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中。...原创 2022-08-03 15:17:09 · 107 阅读 · 0 评论 -
Luogu P3368: 【模板】树状数组 2
这个题目的名字虽然叫树状数组,但是我用线段树做的哈哈。线段树虽然没有树状数组快,但是能处理的问题相对来说更多;就像分块比线段树能解决的问题更多一样,越暴力的算法能解决的问题也越多。这个和我之前写的几个还是换汤不换药。...原创 2022-08-01 18:53:06 · 57 阅读 · 0 评论 -
Luogu P1966: [NOIP2013 提高组] 火柴排队 [树状数组+逆序对]
涵涵有两盒火柴,每盒装有n根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为:∑(ai−bi)2其中ai表示第一列火柴中第i个火柴的高度,bi表示第二列火柴中第i个火柴的高度。每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对108−3取模的结果。...原创 2022-08-03 16:53:10 · 140 阅读 · 0 评论