题目链接 维护一个单点修改,区间查询的数据结构,树状数组和线段树均可以。 我写了树状数组。 #include<bits/stdc++.h> using namespace std; #define lowbit(x) (x & (-x)) char s[10]; int n; long long c ...
分类:
其他好文 时间:
2020-07-29 21:56:16
阅读次数:
86
题目链接 线段树区间修改,每个数均加上一个值。区间查询和。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<string> #include<cmath> using namespa ...
分类:
其他好文 时间:
2020-07-29 21:42:43
阅读次数:
65
###思路 线段树1是一道线段树的经典模板题,所涉及的线段树基础知识也比较全面,作为线段树初学者(比如我)的练手题就非常合适。这道题想让我们完成的是对一个序列的区间修改和区间查询。关于这两个操作, 我们要引入一个新的东西——lazytag。 关于线段树的一些基础写法在这里不再多赘述,我主要来讲一下有 ...
分类:
其他好文 时间:
2020-07-26 23:17:05
阅读次数:
81
高级树状数组讲解:https://www.cnblogs.com/RabbitHu/p/BIT.html 树状数组 一维树状数组 单点修改,区间查询 https://loj.ac/problem/130 #include<bits/stdc++.h> #define INF 0x3f3f3f3f # ...
分类:
编程语言 时间:
2020-07-20 22:29:48
阅读次数:
77
树状数组 部分转自Xenny 前置芝士 什么是树状数组 用数组来模拟树形结构 可解决问题 解决大部分基于区间上的更新以及求和问题 和线段树的区别 树状数组可以解决的问题都可以用线段树解决,但是树状数组码量小,系数少(很多) 优点和缺点 修改和查询的复杂度都是O(logN),而且相比线段树系数要少很多 ...
分类:
编程语言 时间:
2020-07-19 17:57:33
阅读次数:
66
树状数组能做的线段树都可以,但是有的时候为了代码简单,能写树状数组就不写线段树。 树状数组是一种类似线段树的数据结构,只不过树状数组上的操作比较简单,最简单的就是单点修改和区间查询 树状数组是按照数的二进制形式进行存储数据,s[1]存储的是a[1] ,s[2]存储的是a[1]+a[2] ,s[3]存 ...
分类:
编程语言 时间:
2020-07-11 11:14:57
阅读次数:
81
A. 售票系统 题目描述 输入格式 输出格式 样例 样例输入 4 6 4 1 4 2 1 3 2 2 4 3 1 2 3 样例输出 YES YES NO NO 分析 这道题就是一个线段树的区间修改和区间查询,但但但但是这道题n2可以过!!!!由于本人异常懒惰,就不写线段树的了,直接贴出暴力的代码,这 ...
分类:
其他好文 时间:
2020-07-08 20:16:54
阅读次数:
96
线段树分治。以时间轴建立线段树,每一个线段树节点,存放[L,R]时间内,有影响的操作1,建立可持久化trie树,trie树以商店位置为root,就可以支持商店的区间查询,然后将操作0,按照商店位置排序,进行线段树分治,每次到一个节点,先把操作0插入trie树,然后把所有当前时间内存的有影响的操作1全 ...
分类:
其他好文 时间:
2020-07-08 20:13:47
阅读次数:
59
#线段树 ##走进线段树 线段树是什么? 顾名思义,就是把一颗树拆成若干个点段, 每一个父结点可以包含其子节点的信息(看你要表示什么了),例如该父结点的全部子节点的值之和,该父节点范围内子节点的最大值,那么就可以采取一些例如区间查询,区间修改,单点查询,单点修改的操作了,显然是用空间来换时间的算法( ...
分类:
其他好文 时间:
2020-07-03 12:41:17
阅读次数:
59
树状数组是一类存储后缀和,更新后缀和,通过lowbit来限定后缀和的长度,利用二进制使得查询、更新的时间复杂度都在$O(logn)$的数据结构,码量十分小,常数优秀 注意:以下下代码部分未经过压力测试,不保证完全正确 单点修改+区间查询 树状数组 1 #include<bits/stdc++.h> ...
分类:
编程语言 时间:
2020-06-24 23:43:14
阅读次数:
73