摘要: 题意:给定一个N*N的网格,现在M组操作,一种操作时改变网格上的某个单点的权值,另外一种操作是求到一点曼哈顿距离为小于等于k的所有的权值和,初始化网格所有点的权值为0。解法:这题如果没有那些特定的条件,那么就是一个纯净的二维树状数组。对于题目中的要求需要解决的两个问题是:如何将题目中的曼哈顿距离转化为规则的矩形,以及如何避免开辟一个巨大的数组。1.如何转化为矩形问题,这里处理的方法就是把所有的点都旋转45度,需要一个2N*2N的数组数组才能容下坐标转换之后的图,坐标的转化方式为nx = x - y + N, ny = x + y - 1。可以这样看,转化之后的同行相邻两列的坐标差为(-1, 1 阅读全文
posted @ 2013-06-05 19:04 沐阳 阅读(1260) 评论(0) 推荐(0)