随笔分类 - 数据结构 - 线段树
摘要:一、简单定义 本质上仍然是一棵线段树,但它和普通线段树不同,其每个节点用来表示一个区间内元素出现的次数,可以理解为维护区间的值域。 二、应用 1.维护一段区间的数出现的次数,快速计算一段区间的数的出现次数。 2.快速找到第k大或第k小值。 缺点:只能离线操作,不能进行在线询问。 三、原理 例如,最初
阅读全文
摘要:https://nanti.jisuanke.com/t/42387 x的数据范围只有2~10,也就是说x只可能含2、3、5、7这四个因子,那么就可以用等价于4棵线段树的数据结构去维护区间4个素因子的信息了。 用线段树维护区间Pot(ai)的最大值,每次区间修改,只需使区间修改2、3、5、7这四个素
阅读全文
摘要:https://codeforces.com/contest/1304/problem/F2 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn = 4e4+5; 4 int dp[55][maxn]; 5 int va
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/3003/J 题解: 1 #include<bits/stdc++.h> 2 typedef long long ll; 3 using namespace std; 4 const ll mod = 1e9+7; 5 cons
阅读全文
摘要:https://codeforces.com/contest/1295/problem/E 建一颗线段树,叶子结点是花费从1到i所需要花费的前缀和,表示前i个元素全部移动到右边的花费,再维护区间最小值,然后从1到n-1扫一遍,对于第i个位置,找到数字i在序列中的位置 pos ,将区间1到pos-1加
阅读全文
摘要:题意:有n场讲座,有两个场地a和b,如果在a场地开讲座则需要占用[sai,eai],在b场地开讲座则需要占用[sbi,ebi]这个时间段,假如开两场讲座,如果在a场地开不冲突,而b场地开冲突,则称其为敏感的,同理a和b反过来也是一样的,如果ab两场地都冲突则也不是敏感的,先求给定的n场讲座,任意的两
阅读全文
摘要:题目链接:https://codeforces.com/contest/1263/problem/E 题意:一个编译器,每次输入一些字符,R表示光标右移,L表示光标左移,然后有一些左括号( 和 右括号 ),每次会询问当前输入的数据的括号是否合法,如果不合法输出-1,如果合法输出最大合法的括号对数,合
阅读全文

浙公网安备 33010602011771号