https://ac.nowcoder.com/acm/contest/11244/C 题解: 考虑只需要区间修改,求历史最大值 那么用线段树的话我们需要维护历史标记最大值,当前标记,区间当前最大值,历史区间最大值 其实现在变成求历史K大可以类似维护 我们维护历史标记最大的K个,当前标记,区间当前最 ...
分类:
其他好文 时间:
2021-06-08 23:05:58
阅读次数:
0
Galahad 魔女要测试骑士的能力,要求他维护一个长度为 n的序列,每次要询问一个区间的和。 但是魔女觉得太简单了,骑士能轻松记住 个数作为前缀和。 于是,魔女要求他回答一个区间的和,但如果某一个数在这个区间出现了多次,这个数只能被计算一次。 输入描述: 第一行两个整数 n,m表示数列长度和询问个 ...
分类:
其他好文 时间:
2020-12-21 12:01:19
阅读次数:
0
线段树 对于维护区间内的信息,我们可使用RMQ,但这种做法的缺点是无法快速修改,而线段树这种数据结构则可以实现实时的查询、修改(单点、区间)。 原理: 线段树是一种二叉搜索树,对于每个节点,他代表区间L~R的信息,而其两个子节点分别代表L~mid、mid+1~R的信息。 建树: 只需要遍历到每个叶子 ...
分类:
其他好文 时间:
2020-10-13 16:58:38
阅读次数:
18
题目链接https://loj.ac/problem/6277 1 #include<bits/stdc++.h> 2 3 using namespace std; 4 typedef long long ll; 5 const int maxn = 1e5 + 10; 6 const int in ...
分类:
其他好文 时间:
2020-08-08 21:23:31
阅读次数:
77
一般线段树与权值线段树 1.算法分析 一般还要开4N的数组 一般做单点修改、区间查询,加上懒标记后,可以做区间修改、区间查询 1.1 一般线段树 可以处理:区间加、区间乘、区间max/min、区间覆盖等问题 1.2 权值线段树 维护全局的值域信息,每个节点记录的是该值域的值出现的总次数。 使用二分的 ...
分类:
其他好文 时间:
2020-08-03 23:09:16
阅读次数:
69
题目链接 线段树区间修改,每个数均加上一个值。区间查询和。 #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
https://www.luogu.com.cn/problem/P3372 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上 kk。 求出某区间每一个数的和。 输入格式 第一行包含两个整数 n, mn,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 nn 个用 ...
分类:
其他好文 时间:
2020-07-11 19:19:17
阅读次数:
92
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