
线段树
stormjing7
这个作者很懒,什么都没留下…
展开
-
线段树写法总结
线段树N是题目给的最大区间,而节点数要开 4 倍,确切的来说节点数要开大于 maxn 的2^x的两倍lson 和 rson 分辨表示结点的左儿子和右儿子,由于每次传参数的时候都固定是这几个变量,所以可以用预定于比较方便的表示以前的写法是另外开两个个数组记录每个结点所表示的区间,其实这个区间不必保存,一边算一边传下去就行,只需要写函数的时候多两个参数,结合 lson 和 rson 的预定义可...原创 2019-05-19 14:59:12 · 549 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC's basketball team(线段树查询)
The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC’s basketball team题意给 n 个数,和一个 m,对于每个数 i ,找右边最远的满足 j >= m 的 j。输出两个数中间的数字个数。分析n 2e5,很明显要找一个 n log n 的算法,也就是对于每个数查询做到 log n。自然想到线段树 。对于每个...原创 2019-09-07 19:42:42 · 400 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps(线段树单点更新)
ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps题目有 n 个房间需要换灯泡,每天开始时会买 m 个新灯泡,从 1 ~ n 房间看,如果这个房间灯泡数量小于新灯泡,就把这个房间灯泡全部换新的,相应的新灯泡也要减去对应数量,每天经过一轮 1 ~ n,剩下的新灯泡会加到第二天。给你 q 次询问,问你在第 i 天换了几个房间,剩余多少灯泡。...原创 2019-08-11 21:23:40 · 168 阅读 · 0 评论 -
POJ - 2886 Who Gets the Most Candies?(单点更新,反素数)
POJ - 2886 Who Gets the Most Candies?题目有 n 个人坐成一个环形队列,每个人手里有一个数,指定第 k 个人开始,轮到谁谁就退出队列,如果手里的数是正数A,那么向左数A个人,反之向右数,下一轮从他开始。如果一个人第 id 次被选中,那么他能得到的糖果数就是 id 的因子数。问最后给出 n,k, 和所有人手里的数,求得到最多糖果数的人的名字和糖果数。分析...原创 2019-06-18 11:12:34 · 173 阅读 · 0 评论 -
POJ - 3468 A Simple Problem with Integers(区间修改,区间查询,模板题)
POJ - 3468 A Simple Problem with Integers题目线段树裸题分析模板,注意下注释部分,累加变量要用long long#include <cstdio>#include <iostream>#include <cstring>#include <cmath>#include <algorith...原创 2019-06-11 20:51:53 · 201 阅读 · 0 评论 -
POJ - 2828 Buy Tickets(线段树单点更新+思维)
POJ - 2828 Buy Tickets题目假设有 n 个人要排队,刚开始没有人,现在每次给你 n 个人的两个属性 p,v,代表这个人插在了第 p 个人的后面,这个人的权值是v。最后输出排队序列。分析题目意思很好懂,但是很容易超时,刚开始我看到有很多插入操作,想用单链表模拟,但是找到插到第几个人前面也只能遍历,复杂度依然是 n2n^2n2。换一种思路,既然前面给你的人的位置都有可能被...原创 2019-06-10 21:48:38 · 211 阅读 · 0 评论 -
HDU - 1542 Atlantis(区间修改,扫描线,离散化)
HDU - 1542 Atlantis题目在平面上给出 n 个矩形,求矩形并的面积。首先用扫描线按矩形的水平边分段,如上图。在同一段的面积一起计算,即同一种颜色。原创 2019-06-19 10:58:41 · 199 阅读 · 0 评论 -
POJ - 2528 Mayor's posters(区间覆盖,离散化)
POJ - 2528 Mayor’s posters题目给出 n 段区间,区间按给出的顺序会覆盖掉前面的区间,问最后能看到多少不同的区间。分析这题只需要用到懒惰标记即可,线段树没有维护什么东西,有懒惰标记 c 代表这个区间被 c 覆盖了。只不过要用到离散化,题目给出的数据我们只在乎他们的相对大小,相对大小才会影响到区间覆盖的结果 。通常离散化的时侯是离散到连续的区间,但是有问题,比如数...原创 2019-06-19 10:46:49 · 243 阅读 · 0 评论 -
HDU - 3308 LCIS(单点更新,区间合并,查询)
HDU - 3308 LCIS题目给你长度为 n 的序列,两种操作,1、更新某个点的值,2、查询某个区间里最长连续上升子序列长度。操作一共 m 次。(n,m<1e5n, m < 1e5n,m<1e5)分析经典的线段树区间合并题目首先要维护区间的三个值区间最长连续上升子序列长度区间以左端点开始的最长连续上升子序列的长度区间以右端点结束的最长连续上升...原创 2019-06-12 16:30:11 · 240 阅读 · 0 评论 -
The 2019 Asia Nanchang Online Programming Contest C. Hello 2019(区间DP + 线段树分治 + 矩阵)
The 2019 Asia Nanchang Online Programming Contest C. Hello 2019题目给一个 2e5 的字符串,有 2e5 的询问。每次询问一个区间【l,r】,问区间里至少删除多少个字符才能保证不含子串 “8102”,但是要含 “9201”。如果不能满足要求输出 -1。分析其实这个题是之前 cf 原题的改编,CF #750Ecf 原题大意是不含...原创 2019-09-09 21:39:59 · 356 阅读 · 0 评论