线段树。段区间,终于完全自己A掉的。 1 #include 2 #include 3 4
#define MAXN 100005 5 #define lson l, mid, rt>1);20 sums[rt>1));21
adds[rt] = 0;22 ...
分类:
其他好文 时间:
2014-06-06 23:32:27
阅读次数:
279
题目要求求某段区间第一个没有出现的数(0,1,2,3.。。。)
,对于所有的区间,我们把这样的数加起来最后得到一个结果。首先,我们要求出这样的数,然后还得列举出所有的区间,复杂度太大了。换种思路,我们定住L,是不是一次性能求出所有的R所得出的结果,这就用到线段树的性质了,因为在移动L的过程中,移一步...
分类:
其他好文 时间:
2014-06-06 19:31:52
阅读次数:
292
很早以前做过这题,早就没印象了,估计当时也是照着某大神的代码抄过的,现在是连题意都看了好长时间。刚开始的S集合是空集,给你一些操作和一个T集合,把操作的结果再赋给S集合。解法:因为会有开区间和闭区间,对于一个值我拆成了两个点
比如 1,2,3, 表示的区间为[1,2] 把两个端点值分别设为2个点,把...
分类:
其他好文 时间:
2014-06-06 16:39:46
阅读次数:
268
裸的线段树求区间的最大值。 1 #include 2 #include 3 using
namespace std; 4 5 #define MAXN 262144 6 7 int _v[MAXN > 1;23 build(lso),
build(rso);24 ...
分类:
其他好文 时间:
2014-06-06 15:44:06
阅读次数:
222
线段树,题目感觉比较难,看别人思路做的。还得继续练这个专题。 1 #include 2
#include 3 #include 4 using namespace std; 5 6 #define MAXN 100005 7 #define
lson l, mid, rtb) ...
分类:
其他好文 时间:
2014-06-06 14:22:09
阅读次数:
240
求环上的逆序对最小值,这题据说应该是用线段树去做,我先拍了一个裸的,总复杂度O(N2): 1
#include 2 #include 3 using namespace std; 4 5 #define MAXN 5000 6 7 int N; 8
int A[MAXN], sorte...
分类:
其他好文 时间:
2014-06-06 13:13:01
阅读次数:
200
外接程序管线是管线段的路径,宿主应用程序及其外接程序必须使用管线段来互相进行通信。下面的插图显示了通信管线及其段。外接程序管线宿主应用程序位于管线的一端,外接程序位于管线的另一端。宿主应用程序和外接程序分别从各自的端开始向中间移动,它们都具有一个抽象基类,用于定义它们共享的对象模型的视图。这些类型(...
分类:
其他好文 时间:
2014-06-06 08:45:09
阅读次数:
284
判断线段与直线的相交 这里有个地方需要注意的就是在 转换的时候容易报错
在叉积完后的判断符号的时候需要注意 这个地方会超出int 的范围2014-06-0320:14:04#include #include #include
#include using namespace std;struct p...
分类:
其他好文 时间:
2014-06-05 12:54:04
阅读次数:
238
求一部分和的线段树,因为是对5取余,所以给定一段区间a-b,假设其位置会有变化,最多会有5种和,那么就可以保留这五种和,在用lz进行延迟标记时,保存位置变化了多少也就知道了该从当前和转到哪一个和。当时把lz标记那么部分写成覆盖了,应该是+=,WA了两次。
1 #include 2 #inclu...
分类:
其他好文 时间:
2014-06-03 16:17:37
阅读次数:
235
这里以3次方来举例讲一下这题的做法,其它维类似。如果要求某一个值的3次方那么sum =
t^3,设t = x+y。那也就是sum = (x+y)^3.假如我让每个数都加z t = x+y+z,我可以让新的y =
y+z,这里发现新来的总会加在y上,那么可以给他一个延迟,slz,那么新的值t = t ...
分类:
其他好文 时间:
2014-06-03 16:14:05
阅读次数:
349