摘要: 很早以前做过这题,早就没印象了,估计当时也是照着某大神的代码抄过的,现在是连题意都看了好长时间。刚开始的S集合是空集,给你一些操作和一个T集合,把操作的结果再赋给S集合。解法:因为会有开区间和闭区间,对于一个值我拆成了两个点 比如 1,2,3, 表示的区间为[1,2] 把两个端点值分别设为2个点,把... 阅读全文
posted @ 2014-06-03 20:03 _雨 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 题目要求求某段区间第一个没有出现的数(0,1,2,3.。。。) ,对于所有的区间,我们把这样的数加起来最后得到一个结果。首先,我们要求出这样的数,然后还得列举出所有的区间,复杂度太大了。换种思路,我们定住L,是不是一次性能求出所有的R所得出的结果,这就用到线段树的性质了,因为在移动L的过程中,移一步... 阅读全文
posted @ 2014-06-03 16:03 _雨 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 这里以3次方来举例讲一下这题的做法,其它维类似。如果要求某一个值的3次方那么sum = t^3,设t = x+y。那也就是sum = (x+y)^3.假如我让每个数都加z t = x+y+z,我可以让新的y = y+z,这里发现新来的总会加在y上,那么可以给他一个延迟,slz,那么新的值t = t ... 阅读全文
posted @ 2014-06-03 09:38 _雨 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 求一部分和的线段树,因为是对5取余,所以给定一段区间a-b,假设其位置会有变化,最多会有5种和,那么就可以保留这五种和,在用lz进行延迟标记时,保存位置变化了多少也就知道了该从当前和转到哪一个和。当时把lz标记那么部分写成覆盖了,应该是+=,WA了两次。 1 #include 2 #inclu... 阅读全文
posted @ 2014-06-03 09:22 _雨 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 线段树的一些基本应用,就是函数写了很多,有点繁琐。以每个物品的单价建树,刚开始写了个裸的想水过去直接MLE了,然后又离散化了下。离散化单价后建树,lz数组用来清零,s数组保存结点所含物品个数,co数组保存结点所含物品的所有花费,以找第k大的方式找到第n个物品所在的结点位置i,求出前i-1个结点所包含... 阅读全文
posted @ 2014-06-03 00:04 _雨 阅读(323) 评论(0) 推荐(0) 编辑