摘要: Balanced Lineup poj3264 线段树 题意 一串数,求出某个区间的最大值和最小值之间的差 解题思路 使用线段树,来维护最大值和最小值,使用两个查询函数,一个查区间最大值,一个查区间最小值,然后做差就好了,基本上就是线段树模板题 代码实现 cpp include include in 阅读全文
posted @ 2019-08-07 17:33 ALKING1001 阅读(95) 评论(0) 推荐(0) 编辑
摘要: Billboard 题解 hdu2795 题意 有个广告牌,上面需要依次贴广告,广告的高度均为1,但是宽度不同,每次都想贴在最靠左上的位置,按照顺序进行广告的话,输出每个广告位于广告牌的高度。 解题思路 使用线段树,来维护区间最大值,这样我们每次查找的时候都先判断上面点的最大值是不是大于广告的宽度, 阅读全文
posted @ 2019-08-07 17:27 ALKING1001 阅读(205) 评论(0) 推荐(0) 编辑
摘要: Count Color poj2777 线段树 题意 有一个长木板,现在往上面在一定区间内刷颜色,后来刷的颜色会掩盖掉前面刷的颜色,问每次一定区间内可以看到多少种颜色。 解题思路 这里使用线段树,因为刷颜色可以看作是区间修改,使用lazy标记区间的颜色种类,下传标记后,当前节点的lazy标记就标记为 阅读全文
posted @ 2019-08-07 17:14 ALKING1001 阅读(144) 评论(0) 推荐(0) 编辑
摘要: D query SPOJ 树状数组+离线/莫队算法 题意 有一串正数,求一定区间中有多少个不同的数 解题思路——树状数组 说明一下,树状数组开始全部是零。 首先,我们存下所有需要查询的区间,然后根据右端点进行从小到大的排序。然后依次处理这个区间中的答案,仔细想一下,后面的区间答案不会受到影响。 怎么 阅读全文
posted @ 2019-08-07 11:49 ALKING1001 阅读(229) 评论(0) 推荐(0) 编辑