摘要: 这个题好纠结。。。比赛没思路,回头又看得出题报告。最后写出来的数状数组跑了1.5s。。。数状数组的思想还算好理解,就是对角线的控制上。。纠结了。一个直观的想法是首先用N^2的时间预处理出每一个是1的点向上下左右四个方向能够延伸的1的最大长度,记为四个数组l, r, u, d。然后我们观察到正方形有一个特征是同一对角线上的两个顶点在原方阵的同一条对角线上。于是我们可以想到枚举原来方阵的每条对角线,然后我们对于每条对角线枚举对角线上所有是1的点i,那么我们可以发现可能和i构成正方形的点应该在该对角线的 [i, i + min(r[i], d[i]) – 1] 闭区间内, 而在这个区间内的点 j 只 阅读全文
posted @ 2012-08-05 21:39 AC_Von 阅读(248) 评论(0) 推荐(0) 编辑