
树状数组
文章平均质量分 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 · 236 阅读 · 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 · 247 阅读 · 0 评论 -
[树状数组] Galahad
题意:求给定区间内不同数的和 经典例题https://vjudge.net/problem/HDU-3333 解题思路: 这两天有点傻,emmm 离线操作 扫一遍数组 对于重复的值树状数组维护最靠近当前坐标的那一个,等同于把之前重复的元素删掉。 这样再对询问进行前缀和计算则只能计算到最靠近当前点的每个只出现一次的元素 不在区间的自然查询不到,树状数组快速求前缀和记录答案输出即可 ...原创 2019-09-15 17:40:46 · 244 阅读 · 0 评论 -
[树状数组]H千万别用树套树
解题思路: 两棵bit分别存线段的开始点和结束点 两个数组存开始点和结束点的线段数量 针对每次询问 用总线段数- 区间右边的线段(结尾小于等于x) - 区间左边的线段(开头大于等于x) - 当前线段内被完全包含 - 开头结尾在当前区间内即为答案 在线更新询问 复杂度Onlogn /* Zeolim - An AC a day keeps the bug away */ ...原创 2019-10-07 22:16:04 · 233 阅读 · 0 评论