本来是想找一个二维线段树涉及懒惰标记的,一看这个题,区间修改,单点查询,以为是懒惰标记,敲到一半发现这二维线段树就不适合懒惰标记,你更新了某段的某列,但其实其他段的相应列也要打标记,但因为区间不一样,又不好打。。。也可能是我这是在套用一维线段树的思想,还有更好的二维线段树懒惰标记方法反正到现在我还没...
分类:
其他好文 时间:
2014-07-24 05:06:58
阅读次数:
211
有两种方法吧,一个是利用了树状数组的性质,很HDU1556有点类似,还有一种就是累加和然后看奇偶来判断答案
题意:给你一个n*n矩阵,然后q个操作,C代表把以(x1,y1)为左上角到以(x2,y2)为右下角的矩阵取反,意思就是矩阵只有0,1元素,是0的变1,是1的变0,Q代表当前(x,y)这个点的状况,是0还是1?
区间修改有点特别,但是若区间求和弄懂了应该马上就能懂得:...
分类:
其他好文 时间:
2014-07-22 23:02:53
阅读次数:
225
A Simple Problem with IntegersTime Limit:5000MSMemory Limit:131072KTotal Submissions:58269Accepted:17753Case Time Limit:2000MSDescriptionYou haveNinte...
分类:
其他好文 时间:
2014-07-18 23:17:23
阅读次数:
232
聪哥推荐的题目区间修改和区间查询,但是此题新颖之处就在于他的区间修改不是个定值,而是从L 到 R 分别加 F1、F2、。。。Fr-l+1 (F为斐波那契数列)想了一下之后,觉得用fib的前缀和来解决,每次做懒惰标记记录下当前区间是从哪个L开始加起的,敲了一半之后发现有问题,就跟上次遇到的懒惰标记问题...
分类:
其他好文 时间:
2014-07-16 18:10:06
阅读次数:
270
题目链接:http://poj.org/problem?id=3468 http://poj.org/problem?id=3468 http://poj.org/problem?id=3468
思路:这是一个区间修改区间查询的题,由于题目中的给的数据比较大,那么用单个修改和查询肯定不行,所以。。。。注意数据可能比较大,应该用__int64或long long存数据。。。。。
code:
#...
分类:
其他好文 时间:
2014-07-12 22:30:01
阅读次数:
168
【BZOJ2709】水的二分加验证。但是好像被读入萎到了。。。
【BZOJ3229】强大的算法见此。被机房的一堆大神“推荐”,于是被坑了。。。写了一个下午。。。
【BZOJ3631】这道题给我的启示是:要多想想算法。开始一直在打树链剖分,打到一半忽然在众神犇的提(bi)示(shi)下,发现有O(N)的方法。试想:如果要支持区间修改(加减),最后再查询,可以用什么方法?固然,线段树和树状数组等等...
分类:
其他好文 时间:
2014-07-04 00:28:36
阅读次数:
333
首先想到线段树,然后刚开始写忽然想到树状数组求和岂不是更快,而且编程复杂度又小,于是把之前写的删掉,写树状数组,写完模版之后忽然发现这题竟然是区间修改!于是又删掉重写,忽然发现不会处理又加又乘的,果断看题解……经过几乎两个小时的调试,终于1A。需要注意的是,一定要让线段树的每一个区间保存的值时刻为正...
分类:
其他好文 时间:
2014-06-07 17:04:11
阅读次数:
229
给了你n,然后n个数字在一个数组中,接下来m个询问,每个询问三个数字 t,x,y,若t==0,那么修改区间[x,y]的每一个值,变为原来每个位置上的数 开根号取整,若t==1,那么对区间[x,y]求和
由于n,m,很大,所以树状数组铁定超时,若直接用线段树来做区间修改,那么也是超时,这类题目没别的方法了,静心剪枝,发现题目给的数据范围为2^63,有没有发现,2^63开根号 绝对不需要开1...
分类:
其他好文 时间:
2014-05-12 23:01:59
阅读次数:
479
这题也算比较容易的了。
如果哪个区间已经没有黑色的话,就不用update了,就是因为这个原因WA了2发,唉……
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define PI acos(-1.0)
...
分类:
其他好文 时间:
2014-05-09 22:55:55
阅读次数:
341