摘要: http://poj.org/problem?id=2777题意:给出一段区间L ,T种颜色,O种操作(1 <= L <= 100000), T(1 <= T <= 30) , (1 <= O <= 100000).,初始时颜色都是染第一种颜色,然后再修改一些区间的颜色,给出一段区间,问这段区间内有多少种颜色。1 .线段树的一个很重要的部分就是节点存的内容,除了l,r,c外还有一个state(该段区间有多少种颜色),开始没state还超时了,加了一个剪枝勉强过,可是30种染色,用二进制存的话,效率很高,所以改成了二进制2. 更新时的下传和上传,very重要代 阅读全文
posted @ 2012-08-20 21:28 快乐. 阅读(133) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2352题意:给出N(0~15000)个点的坐标,每个点左下点的个数为该点的高度,问高度为0~N-1的点个有多少个左下。。。看起来很没思路,因为是二维坐标,但是仔细想想,把y值相同的点看成一层,一层一成的往上求就是了用树状数组,感觉计算和的这种用树状数组比线段树好写多了代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#define nMAX 32100using namespace std;int ans 阅读全文
posted @ 2012-08-20 21:21 快乐. 阅读(131) 评论(0) 推荐(0) 编辑