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

摘要: 阅读全文
posted @ 2020-07-31 16:14 _Ackerman 阅读(338) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-07-29 17:53 _Ackerman 阅读(269) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-07-17 12:54 _Ackerman 阅读(752) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-06-29 23:38 _Ackerman 阅读(271) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/1321/problem/E 题目大意: 给定一系列有代价的装备,第一种提供 x 值,第二种提供 y 值。给出一些怪兽,如果怪兽的 xi​ 和 yi​ 都小于选定的 x 和 y ,那么会有 zi​ 的奖励。最大化收益。 思路: 我 阅读全文
posted @ 2020-03-05 13:00 _Ackerman 阅读(350) 评论(0) 推荐(0)
摘要:思路: 初中的“追及问题” 假设 Xi 在 Xj 的左侧,并且速度 Vi 大于 Vj,那么 Xi 肯定可以追上 Xj 即 d(i,j) = 0 如果速度 Vi <= Vj ,那么 d(i,j) = abs(Xi - Xj) 所以答案就是: ans+=(数组中位于当前点前面的点的数量(速度小于当前点速 阅读全文
posted @ 2020-03-01 21:41 _Ackerman 阅读(294) 评论(0) 推荐(0)
摘要:这里直接以luogu上的一道了例题为例:https://www.luogu.com.cn/problem/P1438 题目描述 维护一个数列{a[i]},支持两种操作: 1、1 L R K D:给出一个长度等于R-L+1的等差数列,首项为K,公差为D,并将它对应加到a[L]~a[R]的每一个数上。即 阅读全文
posted @ 2020-02-09 12:14 _Ackerman 阅读(1867) 评论(0) 推荐(0)
摘要:题目链接:http://oj.ecustacm.cn/problem.php?id=1299 题目描述 小明最近在研究压缩算法。他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很 阅读全文
posted @ 2020-01-31 13:00 _Ackerman 阅读(482) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3642 题目大意:给你n个立方体,求相交区域大于等于三次的体积和。 题目思路:同样的利用二维扫描线去维护xOy平面的矩形的面积。 然后对于每个不同的z找到符合要求的长方体 阅读全文
posted @ 2019-10-25 00:37 _Ackerman 阅读(330) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/J 思路: 这道题的大体的思路其实还是扫描线的思路。 就是我们要清晰之前我们所说的len 代表的是被覆盖了一次及以上次数的线段长度 为叙述方便,我们假设len[2]为当前线段被覆盖了两次的长度,len[1] 阅读全文
posted @ 2019-10-24 20:39 _Ackerman 阅读(352) 评论(0) 推荐(0)
摘要:扫描线算法流程: 1、想象一下有一条平行于y轴的直线,正在从左边缓缓向右平移……2、再想像一下y轴上有一棵线段树,它记录的是y轴上每个点的覆盖次数3、每当遇到某个矩形的某一条边时,就计算面积——用这次碰边的x坐标减去上一次碰边时的x坐标,再用这个差值乘以当前y轴上有多少个点被覆盖4、当这条直线遇到某 阅读全文
posted @ 2019-10-24 20:17 _Ackerman 阅读(1040) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/I 题目大意: 小明需要安排和基友开黑和和女神约会的时间。这两个时间总是一段连续的时间,小明总是会找最早的时间来开始这些事。当有基友找他开黑的时候,他会先在时间表里找最早的连续时间,如果有,就开黑,没有就不 阅读全文
posted @ 2019-10-23 22:05 _Ackerman 阅读(297) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/H 题意: n个花瓶,m个操作,花瓶里面有的有花,有的是空的。 1 x y 表示从第x个位置开始查y多花,若一朵花也插不上输出"Can not put any one.",反之输出插花的左位置和右位置。 2 阅读全文
posted @ 2019-10-23 21:29 _Ackerman 阅读(256) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/F 题意: 给出一个有向树,初始所有节点为-1.有两种操作,一种为(T,x,y),表示将x节点的所有子树中的节点变为y,另一种为(C,x),为求x节点的值 思路: 采用 dfs序 使得每个结点以及它的孩子都 阅读全文
posted @ 2019-10-11 09:53 _Ackerman 阅读(331) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/G 题意: 给你三种操作,三种输出方式: 1.让l~r区间的所有值加c; 2.让l~r区间的所有值乘c; 3.让l~r区间的所有值变成c; 4.让l~r区间的所有值都先求p(1~3)次方,然后求和输出。 思 阅读全文
posted @ 2019-10-11 09:50 _Ackerman 阅读(271) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.com/contest/1234/problem/D 题意: 给一个字符串s,存在两种操作 操作1:将某一位的字符改成给定的一个字符 操作2:询问一段区间内不同字符的个数 思路: 线段树维护各个区间的字符。然后查询的时候新开一个 数组t 去记录不同的字 阅读全文
posted @ 2019-10-10 20:04 _Ackerman 阅读(555) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/E 思路: 稍微改下线段树求连续区间的代码就好了 具体的解释还是看代码注释吧 阅读全文
posted @ 2019-10-09 19:50 _Ackerman 阅读(288) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/contest/332656#problem/D 思路:因为根号运算n衰减的很快,所以在极少数的操作内它就会变成1,所以当整个区间内的值都变成1时直接返回,反之暴力更新叶子结点就好 阅读全文
posted @ 2019-10-08 20:50 _Ackerman 阅读(302) 评论(1) 推荐(1)
摘要:题目链接:https://www.luogu.org/problem/P3373 讲讲优先级的问题: 1. 加法和乘法顺序不一样会导致不同的结果 比如: (a+b)c 不等于 ac + b 而在记录懒标记的时候,加法和乘法两种标记放到一起,并不知道哪个先,哪个后。 所以要确定一个优先级 我们分析一下 阅读全文
posted @ 2019-09-03 22:14 _Ackerman 阅读(291) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/POJ-2777 题意: 有L个画板,30种颜色,o个操作:P a b :询问a-b 种有多少种颜色不同的,C a b c:把a-b全部涂成c的颜色(覆盖掉) 阅读全文
posted @ 2019-08-20 10:05 _Ackerman 阅读(408) 评论(0) 推荐(0)