随笔分类 -  数据结构 - 线段树

线段树
摘要:题目大意 : 一个序列,支持区间开方与求和操作。 算法 :线段树实现 开方修改 与区间求和 分析 : 显然,这道题的求和操作可以用线段树来维护 但是如何来实现区间开方呢 大家有没有这样的经历:玩计算器的时候, 把一个数疯狂的按开方,最后总会变成 $1$,之后在怎样开方也是 $1$ ($\sqrt1= 阅读全文
posted @ 2018-12-03 10:25 AcFunction 阅读(199) 评论(0) 推荐(0)
摘要:先按照长度排个序,然后依次添加区间。什么是添加?设这个区间是$[l,r]$,添加就是把$a_l,a_{l+1},a_{l+2},{...},a_{r}$都加上$1$,其中$a_i$表示第$i$个位置被几个区间覆盖。拿走一个区间的含义就是把它们都减$1$。这个过程很显然可以用线段树维护。 如果在添加到 阅读全文
posted @ 2018-12-01 22:09 AcFunction 阅读(139) 评论(0) 推荐(0)
摘要:"题目链接" 题解 题目大意 : 一个序列,支持区间开方与求和操作。 算法 :线段树实现 开方修改 与区间求和 分析 : 显然,这道题的求和操作可以用线段树来维护 但是如何来实现区间开方呢 大家有没有这样的经历:玩计算器的时候, 把一个数疯狂的按开方,最后总会变成 $1$,之后在怎样开方也是 $1$ 阅读全文
posted @ 2018-04-16 17:22 AcFunction 阅读(142) 评论(0) 推荐(0)
摘要:"题目链接" 题解 家和公司在同侧 简单,直接预处理掉 若 $k=1$ 取所有的居民的$\frac{家坐标+公司坐标}{2}$的所有坐标的正中间建一座桥,使所有居民到的距离最小。 实现方法:线段树(用来求中位数) 期望得分:$14 + 8 = 22$(如果按子问题给分) 若 $k=2$ 取每个线段的 阅读全文
posted @ 2018-04-16 17:20 AcFunction 阅读(163) 评论(0) 推荐(0)