区间数据结构-树状数组
文章平均质量分 86
处理区间问题的数据结构
memcpy0
希望探索文理结合的自由之路。
展开
-
LeetCode 1375. Number of Times Binary String Is Prefix-Aligned【鸽巢原理;树状数组】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2023-06-17 19:38:48 · 933 阅读 · 0 评论 -
LeetCode 1109. Corporate Flight Bookings【差分/树状数组/线段树】中等
There are n flights that are labeled from 1 to n.You are given an array of flight bookings bookings, where bookings[i] = [firsti, lasti, seatsi] represents a booking for flights firsti through lasti (inclusive) with seatsi seats reserved for each flight i原创 2021-05-15 17:57:12 · 212 阅读 · 0 评论 -
【PAT顶级】1027 Larry and Inversions (35 分)【树状数组】
Larry just studied the algorithm to count number of inversions. He’s very interested in it. He’s considering another problem: Given a permutation of integers from 1 to n, how many inversions it has if we reverse one of its subarray?Formally speaking, give原创 2021-05-22 19:31:56 · 164 阅读 · 0 评论 -
【PAT顶级】1010 Lehmer Code (35 分)【树状数组/离散化】
According to Wikipedia: “In mathematics and in particular in combinatorics, the Lehmer code is a particular way to encode each possible permutation of a sequence of nnn numbers.” To be more specific, for a given permutation of items {A1,A2,…,AnA_1, A_2, \d原创 2021-05-22 19:22:25 · 234 阅读 · 0 评论 -
【PAT顶级】1009 Triple Inversions (35 分)【树状数组】
Given a list of NNN integers A1,A2,A3,…,ANA_1, A_2, A_3, \dots, A_NA1,A2,A3,…,AN there’s a famous problem to count the number of inversions in it. An inversion is defined as a piar of indices i<ji<ji<j such that Ai>AjA_i>A_jA原创 2021-05-22 19:15:08 · 179 阅读 · 0 评论 -
LeetCode C++ 775. Global and Local Inversions【数组/归并排序/树状数组】中等
You are given an integer array nums of length n which represents a permutation of all the integers in the range [0, n - 1].The number of global inversions is the number of the different pairs (i, j) where: 0 <= i < j < n nums[i] > nums[j]原创 2021-05-06 01:43:40 · 267 阅读 · 0 评论 -
LeetCode C++ 1649. Create Sorted Array through Instructions【树状数组/线段树/归并排序/平衡树】困难
Given an integer array instructions, you are asked to create a sorted array from the elements in instructions. You start with an empty container nums. For each element from left to right in instructions, insert it into nums. The cost of each insertion is t原创 2020-12-26 02:15:28 · 632 阅读 · 0 评论 -
LeetCode C++ 剑指 Offer 51. 数组中的逆序对【归并排序/树状数组/线段树】
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制: 0 <= 数组长度 <= 50000解法1 归并排序先这么写,日后有时间就多更新几种解法:class Solution {private: int ans = 0; vector<int> tmp; void mergeSort(vector<int>&原创 2020-12-26 02:07:06 · 258 阅读 · 0 评论 -
LeetCode C++ 307. Range Sum Query - Mutable【Binary Indexed Tree/Segment Tree】中等
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.The update(i, val) function modifies nums by updating the element at index i to val.Example:Given nums = [1, 3, 5]sumRange(0, 2) -> 9update(1, 2)原创 2020-12-09 02:08:23 · 205 阅读 · 0 评论 -
洛谷 P3374【模板】树状数组1、P3368【模板】树状数组2
P3374【模板】树状数组1题目描述如题,已知一个数列,你需要进行下面两种操作:将某一个数加上 xxx求出某区间每一个数的和输入格式第一行包含两个正整数 n,mn,mn,m ,分别表示该数列数字的个数和操作的总个数。第二行包含 nnn 个用空格分隔的整数,其中第 iii 个数字表示数列第 iii 项的初始值。接下来 mmm 行每行包含 333 个整数,表示一个操作,具体如下:1 x k 含义:将第 xxx 个数加上 kkk2 x y 含义:输出区间 [x,y][x,y][x,y] 内原创 2020-09-04 17:39:40 · 201 阅读 · 0 评论 -
【算法学习】高级数据结构 一、二、三维树状数组及其拓展应用
文章目录1. 树状数组的概念2. 树状数组代码3. 代码的说明(1) lowbit操作树状数组 Binary Indexed Tree, BIT(二进制下标树) ,一种利用数的二进制特征进行检索的树状结构,一种奇妙的数据结构,高效而且代码简洁。1. 树状数组的概念设长度为 nnn 的数列 a1,a2,....,ana_1, a_2, ...., a_na1,a2,....,an ,对其进行下面的操作:单点修改元素 add(k,x)\text{add(k,x)}add(k,x) :把 aka原创 2020-09-04 17:12:08 · 531 阅读 · 0 评论 -
HDU 1166 敌兵布阵【树状数组】
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如De原创 2020-09-04 01:23:20 · 166 阅读 · 0 评论 -
LeetCode C++ 315. Count of Smaller Numbers After Self【二叉搜索树/线段树/树状数组/分治】困难
You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i] .Example:Input: [5,2,6,1]Output: [2,1,1,0] Explanation:To the ri原创 2020-07-11 13:40:35 · 289 阅读 · 0 评论