线段树
文章平均质量分 86
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 · 520 阅读 · 0 评论 -
POJ2777 Count Color(线段树+染色)
Count Color Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 47394 Accepted: 14318 Description Chosen Problem Solving and Program design as an optional co原创 2017-09-24 18:50:16 · 380 阅读 · 0 评论 -
HDU4027Can you answer these queries? (线段树)
题目大意:给出一串数字,两种操作:每次给出一个区间,将区间内的数字全部开根号;区间内的数字求和。 不用区间更新,每次只用单点更新即可,判断区间长度是否等于区间和,如果是就不再更新了,这样相当于每次开根号的时候是将不是全一的区间做了单点更新,其实复杂度并不高。 代码如下: #include #include #include #include #include using names原创 2018-01-26 10:24:23 · 302 阅读 · 0 评论 -
POJ2528 Mayor's posters(线段树+离散化+染色)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 68924 Accepted: 19861 Description The citizens of Bytetown, AB, could not stand that the原创 2017-09-22 20:34:28 · 354 阅读 · 0 评论 -
HDU1540Tunnel Warfare(线段树)
题目大意是说有很多地道,三种操作:D摧毁某个点,使得点两边断掉;Q查询和某些点相连的点的数量;R修复最近被破坏的地道。 用线段树维护两个值,一个最大值,一个最小值各自独立(初始最大值置0,最小值置n+1) 当摧毁某个点的时,将最大值的对应点改为其下标,将最小值对应的点改为其下标,查询时,查询比这个点小的值中的最大值和比这个点大值中的最小值。这样的两个值相减得到的即使联通区间的数目+1。 代码原创 2018-01-28 20:30:37 · 277 阅读 · 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 · 334 阅读 · 0 评论 -
HDU3974 Assign the task(DFS序+线段树)
题目大意:给出一种的人员之间上下级的关系,其实就是一棵多叉树,当boss获得一个任务时,boss的员工们也会立即获得这个任务,不论员工原来拥有怎样的任务,查询对于某一时刻某一个员工对怎样的任务。 像是线段树,但是多叉和查询怎样解决,对于这样的子树问题,一下的更新某个根的子树,可以用DFS序,将这棵树重新编号,用入时间戳和出时间戳再将其投映到线段树内,每次更改时将入和出时间戳之间都更新,查询时由于原创 2018-03-09 20:15:09 · 358 阅读 · 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 · 338 阅读 · 0 评论
分享