摘要: 这题真的是纠结了好久,去年暑假做了好久没能搞出来,昨天再回过头来做,发现有些思路了。贡献了n次wa之后终于改对了。int l1,r1;//标记左右两端分别是什么颜色int ll,rr;//记录左右两端的长度是多少int Blen,Wlen;//记录该区间中连续黑,连续白石头的最长长度是多少int cp;//标记该区间是否被整个turn需要记录下来这些变量,最重要的是cp,它记录的是该区间是否被整个转变颜色。View Code 1 # include<stdio.h> 2 # include<string.h> 3 # include<stdlib.h> 4 阅读全文
posted @ 2012-04-11 19:19 奋斗青春 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 看过这题之后,首先想到的是二维线段树,但是后来做的时候发现不太好搞,因为x和y会相互影响的。搜了下解题报告,说是用二维树状数组,然后我就自己开始搞。写过之后虽然AC了,但是跑了1000ms+,感觉太慢了,就搜了下别人的代码,发现我们所理解的二维树状数组有些差别。我是把每一列当成一个一维的树状数组,等于是n多的一维树状数组,然后这样来看成二维的。而别人的直接就是用二维来进行查询更新的。直接看代码吧:“伪二维树状数组”:View Code 1 # include<stdio.h> 2 # include<string.h> 3 # define N 1005 4 int s 阅读全文
posted @ 2012-04-11 11:52 奋斗青春 阅读(569) 评论(0) 推荐(0) 编辑