![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构补题
九羽-
日有所进,月有所变,终有所成。
展开
-
( 求区间第k大及大于等于它的和 )【 主席树扩展 】
( 求区间第k大及大于等于它的和 )【 主席树扩展 】即求区间第1大+第2大+第3大+...+第k大的和。比如:a = 1 2 3 4 5query(1,5,5) = 5+4+3+2+1query(2,4,2) = 4 + 3query(1,3,1) = 3引入sumt数组,表示当前点及其儿子节点的和。int update( int pre, int left, int right, int x ){ int node = tot++; L[node] =.原创 2020-10-23 21:04:10 · 733 阅读 · 1 评论 -
HDU 6601 ( 主席树 )
HDU 6601 ( 主席树 )题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6601题意: n个数组成的序列a,q次查询,在 [ L, R] 区间内所有数能组成的周长最大的三角形有多大。思路:先思考最暴力的做法,把 [ L, R] 区间的数排个序,要周长最大肯定从最大的边开始考虑,组成三角形的条件是 a+b>c 可以简化一...原创 2020-02-29 16:52:36 · 237 阅读 · 0 评论 -
H - Pavel's Party ( 权值线段树 + 思维 )
H - Pavel's Party ( 权值线段树 + 思维 )题目链接:https://vjudge.net/problem/Gym-100971H题意:Pavel 将要举行一个聚会,他想确切地邀请k个人参加。他有n个朋友,并且他已经决定按什么顺序打电话和邀请他们,每个朋友会回复他两个值 l 和 r,代表如果这个聚会的人数在[ l, r] 之间他就会参加。Pavel一旦集合了所需的...原创 2020-02-17 16:42:24 · 164 阅读 · 0 评论 -
E - Cloudy Day ( 差分 )
E - Cloudy Day ( 差分 )题目连接:https://vjudge.net/problem/HackerRank-cloudy-day题意:在一个二维坐标系,有若干房子( 用一个点表示,无宽度 ),房子里有住的人 ,和若干乌云( 有长宽)。现在问只去掉一块乌云能让最多的人头顶没有乌云。上图解释:乌云覆盖的面积是3,4,5, 在5上的房子就被乌云遮盖了。思路:...原创 2020-02-13 14:52:55 · 253 阅读 · 0 评论 -
F - Finally, christmas! ( 线段树维护区间最大值 )
F - Finally, christmas! ( 线段树维护区间最大值 )题目连接:http://codeforces.com/gym/102448/problem/F题意:如上图所示,有n栋楼房,询问能看到的面积是多少。思路:用线段树维护区间,最后再枚举每一段小区间计算答案。因为线段树维护的是点,而计算面积需要的是宽,所以重新定义一下1点代表1和2之间的东西,这样楼房坐标在...原创 2020-02-07 20:20:15 · 222 阅读 · 0 评论 -
HDU 6521 Party(吉司机线段树)
HDU 6521 Party(线段树 + 思维)题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6521题意:给你n,m(n,m<=5e5),表示有编号1~n的人,m个区间对于每个区间[l,r],表示编号为[l,r]的人之间任意两两配对的方法总数要求对于每个区间,输出其任意两两配对的方法总数减去前面的区间已经有的选法总数...转载 2019-12-04 17:20:56 · 143 阅读 · 0 评论 -
Archery Tournament ( 线段树思想+set )
Archery Tournament ( 线段树思想+set )题意: 有????个操作,每次输入???? ???? ????(????=1,2;−109≤????,????≤109;????>0). 当????=1,在坐标平面上立一个圆心在????,????,半径为????的圆形靶子。当????=2,往点????,????射一箭,如果在这个点上有靶子,则输出这个靶子是在第几次操作中出现的,并把这个靶子销毁;如果这个点上没有靶子,则输出"−1"。知识点:线段树...原创 2019-11-17 21:52:45 · 304 阅读 · 0 评论