区间符合条件的充要条件是$Max-Min+1=Cnt$其中$Max,Min,Cnt$分别为区间最大值,最小值,不同的数的个数。 变形后得$Max-Min-Cnt+1=0$ 考虑枚举右端点,在线段树上维护左端点$Max-Min-Cnt+1$的最小值。 $Min,Max$可以用单调栈维护,记$last_ ...
分类:
其他好文 时间:
2020-11-01 22:11:08
阅读次数:
14
1. HDU1166 敌兵布阵 题目链接 题意:单点更新+区间查询(求和)。 树状数组 (218ms) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> usi ...
分类:
其他好文 时间:
2020-11-01 21:18:27
阅读次数:
19
kuangbin带你飞:点击进入新世界 [kuangbin] 专题7 线段树 题解 + 总结:https://www.cnblogs.com/RioTian/p/13413897.html kuangbin专题十二 基础DP1 题解+总结:https://www.cnblogs.com/RioTia ...
分类:
其他好文 时间:
2020-11-01 20:58:07
阅读次数:
11
Link P4168 [Violet]蒲公英 Solve 本题是非常经典的在线求区间众数问题。因为众数不具有区间可加性(已知$[x,y]\(和\)[y+1,z]\(的众数,不能直接得到\)[x,z]$的众数),所以用树状数组或者线段树维护就特别难,我们考虑分块来做。 我们把序列分成$T$块,每块长度 ...
分类:
其他好文 时间:
2020-11-01 09:29:32
阅读次数:
16
【模板】权值线段树套序列线段树 P3380 【模板】二逼平衡树(树套树) 主要思路如下: 外层为权值线段树,内层为动态开点线段树,也就是每个权值线段树上的节点开一个动态开点线段树。 外层的权值线段树支持查询排名,内层的线段树限制了区间。实际上就是在普通权值线段树上查询的价值变成了在其线段树上区间查询 ...
分类:
其他好文 时间:
2020-10-31 01:52:32
阅读次数:
16
先考虑怎样配对最优,发现对于一条边,若其两端的子树内需要配对的点的个数都为奇数,则该边会有 $1$ 的贡献,否则没有贡献,得这样为最优情况。 那么对于一棵子树,将其内部的点标记为 $1$,得到一个 $01$ 串,子树父边的贡献为 $01$ 串中长度为偶数且区间和为奇数的区间个数。 可以用线段树合并来 ...
分类:
其他好文 时间:
2020-10-31 01:40:56
阅读次数:
14
Segment Tree Beats $Q1.$给定长度为$n$的序列$A$,支持以下操作:1、区间取$\min$;2、区间查询最大值;3、区间求和。 const int N = 1000005; const int inf = 1<<30; int n, m, a[N]; #define lc ( ...
分类:
其他好文 时间:
2020-10-31 01:22:28
阅读次数:
19
orz G_keng 给的题! 辣鸡(ljh) 写复杂了,然后全程在写这个题目 其实可以直接排序完了模拟 然后自己套上了原来的一个题的做法 不过不太好写,写出来了还是能行 以下均为考后刷题 模板(ac) 线段树按照 时间 开,存颜色和数量,统计的时候 这样子最后统计的时候就直接在树的前 \(k_i\ ...
分类:
其他好文 时间:
2020-10-30 12:31:33
阅读次数:
21
Link CF452F Permutation Solve 先转化一下题意,对于一个$a[i]$我们判断如果存在一个$a[i]+k$和$a[i]-k$在$a[i]$的异侧,那么就存在一个解,输出$yes$,如果对于每个$a[i]$都不存在,就输出$no$。 如何判断是否存在$a[i]+k$和$a[i ...
分类:
其他好文 时间:
2020-10-29 09:34:03
阅读次数:
14
什么是树状数组? ? 树状数组就是通过数组来模拟一种树形结构,这种树形结构能够维护区间信息。同样类似的数据结构还有线段树,线段树与树状数组相比,它的结点更多,也就是说线段树的常数更大。 ? 线段树是通过把区间二分来维护区间的信息,而树状数组是通过lowbit来维护区间的信息。 ? 以树状数组维护区间 ...
分类:
编程语言 时间:
2020-10-22 22:18:30
阅读次数:
25