![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
文章平均质量分 53
Zeolim
这个作者很懒,什么都没留下…
展开
-
LeetCode 995. K 连续位的最小翻转次数
995. K 连续位的最小翻转次数难度困难172收藏分享切换为英文接收动态反馈在仅包含0和1的数组A中,一次K位翻转包括选择一个长度为K的(连续)子数组,同时将子数组中的每个0更改为1,而每个1更改为0。返回所需的K位翻转的最小次数,以便数组没有值为0的元素。如果不可能,返回-1。示例 1:输入:A = [0,1,0], K = 1输出:2解释:先翻转 A[0],然后翻转 A[2]。示例 2:输入:A = [1,1,0], K ...原创 2021-02-18 23:18:42 · 180 阅读 · 0 评论 -
[权值BIT] 小朋友排队
解题思路每个小朋友需要交换的次数必然是左边比他大的 + 右边比他小的用 权值BIT 维护前缀后缀再单独计算等差即可主席树应该也是可以解决的/* Zeolim - An AC a day keeps the bug away*///#pragma GCC optimize(2)#include <cstdio>#include <iostream...原创 2019-05-05 10:49:54 · 195 阅读 · 0 评论 -
[树状数组] Galahad
题意:求给定区间内不同数的和经典例题https://vjudge.net/problem/HDU-3333解题思路:这两天有点傻,emmm离线操作扫一遍数组对于重复的值树状数组维护最靠近当前坐标的那一个,等同于把之前重复的元素删掉。这样再对询问进行前缀和计算则只能计算到最靠近当前点的每个只出现一次的元素不在区间的自然查询不到,树状数组快速求前缀和记录答案输出即可...原创 2019-09-15 17:40:46 · 177 阅读 · 0 评论 -
[树状数组]H千万别用树套树
解题思路:两棵bit分别存线段的开始点和结束点两个数组存开始点和结束点的线段数量针对每次询问用总线段数- 区间右边的线段(结尾小于等于x) - 区间左边的线段(开头大于等于x) - 当前线段内被完全包含 - 开头结尾在当前区间内即为答案在线更新询问 复杂度Onlogn/* Zeolim - An AC a day keeps the bug away*/...原创 2019-10-07 22:16:04 · 186 阅读 · 0 评论