数据结构 树状数组
Yishui_Blog
Try our best
展开
-
树状数组入门 (记录一下
首先我们要明白树状数组和线段树很像,但能用树状数组解决的问题,基本上都能用线段树解决,而线段树能解决的树状数组不一定能解决。相比较而言,树状数组 效率要高很多。但使用范围比线段树小(如查询每个区间最小值问题需要线段树)。 树状数组的图解 c1 = a1c2 = a1 + a2c3 = a3c4 = a1 + a2 + a3 + a4c5 = a5c6 = a5 + a6c7 = a7c8原创 2017-04-12 15:54:25 · 313 阅读 · 0 评论 -
LOJ 6277 数列分块入门 1 (分块/树状数组
题意:给出一个长为 nnn 的数列,以及 nnn 个操作,操作涉及区间加法,单点查值。题解: 1.将mmm个元素分为一块,那么数列中至多也就只有n/mn/mn/m块, 每次操作也就是至多涉及到n/mn/mn/m个整块以及其附近的不完整的块中至多的2∗m2∗m2*m个元素 2.给每个块设置一个加法tag, 这样的话我们每次标记的复杂度就是O(1)O(1)O(1), 附近...原创 2018-08-17 16:26:58 · 179 阅读 · 0 评论 -
LOJ #6278. 数列分块入门 2 (分块/树状数组
题意:给出一个长为 nnn的数列,以及 nnn 个操作,操作涉及区间加法,询问区间内小于某个值 xxx 的元素个数。 分块, 直接维护每个块二分即可, 树状数组, 代码写起来比分块还简单,,,,分块//// Created by team02 on 18-8-17.//#include <bits/stdc++.h>using namespac...原创 2018-08-17 21:47:19 · 270 阅读 · 0 评论 -
SPOJ - DQUERY (树状数组/主席树
树状数组离线处理方法: 将右端点升序排列, 重复的数每次只统计最后一位就好#include <bits/stdc++.h>using namespace std;#define ll long long#define CLR(a, b) memset(a, (b), sizeof(a))const int MAXN = 1e6+10;int c[MAXN], a[...原创 2018-07-24 16:25:08 · 198 阅读 · 0 评论 -
CodeForces - 652D Nested Segments (离散化+BIT
Nested Segments 题目描述You are given n segments on a line. There are no ends of some segments that coincide. For each segment find the number of segments it contains.输入The first line contains a ...原创 2018-05-15 10:36:38 · 226 阅读 · 0 评论 -
POJ 3321 Apple Tree ( DFS+BIT
Apple Tree 题目描述There is an apple tree outside of kaka’s house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tr...原创 2018-04-07 21:35:34 · 109 阅读 · 0 评论 -
计蒜客 青出于蓝胜于蓝
青出于蓝胜于蓝 题目描述武当派一共有 nn 人,门派内 nn 人按照武功高低进行排名,武功最高的人排名第 11,次高的人排名第 22,… 武功最低的人排名第 nn。现在我们用武功的排名来给每个人标号,除了祖师爷,每个人都有一个师父,每个人可能有多个徒弟。我们知道,武当派人才辈出,连祖师爷的武功都只能排行到 pp。也就是说徒弟的武功是可能超过师父的,所谓的青出于蓝胜于蓝。请你帮忙...原创 2018-03-20 17:56:57 · 434 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort (BIT / 归并排序
Ultra-QuickSort 题目描述In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until...原创 2018-03-20 17:51:31 · 145 阅读 · 0 评论 -
HDUOJ 3887 Counting Offspring ( DFS+BIT
Counting Offspring 题目描述You are given a tree, it’s root is p, and the node is numbered from 1 to n. Now define f(i) as the number of nodes whose number is less than i in all the succeeding nodes of...原创 2018-03-20 17:38:28 · 183 阅读 · 0 评论 -
HDUoj 1556 Color the ball ( 树状数组
Color the ballDescriptionN个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 100000).接下来原创 2017-04-27 19:09:51 · 303 阅读 · 0 评论 -
ICPC2018徐州网络赛 H.Ryuji doesn't want to study ( 树状数组
题意: 求 ∑ri=lai∗(r−i+1)∑i=lrai∗(r−i+1)\begin{equation*} \sum_{i=l}^ra_i*(r-i+1) \end{equation*} 考虑化简公式 利用前缀和 化简为∑ri=lai∗(n−i+1)∑i=lrai∗(n−i+1)\begin{equation*} \sum_{i=l}^ra_i*(n-i+1) \end{equ...原创 2018-09-13 22:36:03 · 169 阅读 · 0 评论