![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
文章平均质量分 82
HOrchard
这个作者很懒,什么都没留下…
展开
-
ACM-ICPC2017北京网络赛(I) Minimum
时间限制:1000ms单点时限:1000ms内存限制:256MB描述You are given a list of integers a0, a1, …, a2^k-1.You need to support two types of queries:1. Output Minx,y∈[l,r] {ax∙ay}.2. Let ax=y.原创 2017-09-24 11:14:49 · 438 阅读 · 0 评论 -
POJ2777 Count Color(线段树+染色)
Count ColorTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 47394 Accepted: 14318DescriptionChosen Problem Solving and Program design as an optional co原创 2017-09-24 18:50:16 · 306 阅读 · 0 评论 -
HDU4027Can you answer these queries? (线段树)
题目大意:给出一串数字,两种操作:每次给出一个区间,将区间内的数字全部开根号;区间内的数字求和。不用区间更新,每次只用单点更新即可,判断区间长度是否等于区间和,如果是就不再更新了,这样相当于每次开根号的时候是将不是全一的区间做了单点更新,其实复杂度并不高。代码如下:#include #include #include #include #include using names原创 2018-01-26 10:24:23 · 242 阅读 · 0 评论 -
POJ2528 Mayor's posters(线段树+离散化+染色)
Mayor's postersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 68924 Accepted: 19861DescriptionThe citizens of Bytetown, AB, could not stand that the原创 2017-09-22 20:34:28 · 276 阅读 · 0 评论 -
HDU1540Tunnel Warfare(线段树)
题目大意是说有很多地道,三种操作:D摧毁某个点,使得点两边断掉;Q查询和某些点相连的点的数量;R修复最近被破坏的地道。用线段树维护两个值,一个最大值,一个最小值各自独立(初始最大值置0,最小值置n+1)当摧毁某个点的时,将最大值的对应点改为其下标,将最小值对应的点改为其下标,查询时,查询比这个点小的值中的最大值和比这个点大值中的最小值。这样的两个值相减得到的即使联通区间的数目+1。代码原创 2018-01-28 20:30:37 · 213 阅读 · 0 评论 -
HDU4614 Vases and Flowers(线段树+二分)
给出一些花瓶,有两种操作,1.从x位置向后插入y朵花,遇见已经有的就跳过,直到最后一个花瓶为止,输出第一和最后一个花瓶的位置,2.将x和y之间的花瓶清空输出花数。线段树的写法差不多一致,关键是用二分来确定每次查询的左右端点。#include #include #include using namespace std;const int N=500005;struct node{原创 2018-03-15 11:14:28 · 239 阅读 · 0 评论 -
HDU3974 Assign the task(DFS序+线段树)
题目大意:给出一种的人员之间上下级的关系,其实就是一棵多叉树,当boss获得一个任务时,boss的员工们也会立即获得这个任务,不论员工原来拥有怎样的任务,查询对于某一时刻某一个员工对怎样的任务。像是线段树,但是多叉和查询怎样解决,对于这样的子树问题,一下的更新某个根的子树,可以用DFS序,将这棵树重新编号,用入时间戳和出时间戳再将其投映到线段树内,每次更改时将入和出时间戳之间都更新,查询时由于原创 2018-03-09 20:15:09 · 284 阅读 · 0 评论 -
POJ3321 Apple Tree(DFS序+线段树)
给出一个多叉树,在任意点上删除或加入苹果,问某一结点的子树上的苹果数量的总数。子树,用DFS序记下入和出的时间,线段树维护一下就好了。vector会TLE。。。。#include #include #include #include #include #include using namespace std;const int N=1e5+5;//vectorvec[N原创 2018-03-17 14:32:04 · 264 阅读 · 0 评论