POJ 1195

来源:互联网 发布:mac上lol国服 编辑:程序博客网 时间:2024/06/16 14:37

题意:在一个二维数组中,动态更新里面的某些值。动态的询问(l,b,r,t)之内的值的和。(left, base, right, top)
思路:为此专门学习了一下二维树状数组。如果明白了一微树状数组的原理,其实二维也很好理解。那modify函数为例,一维时,是更新c[x]及其后继节点的值,这些值最后在查询时要累加。二维的modify(x, y),c[x][y]记录的是以原点和(x, y)做的矩形中的值的和,比如说c[x][y] = ∑( c[ai][bi] ),c[ai][bi]是其中的子矩形的值的和。

WA了很多次,昨晚调试到2点还没弄出来。今早再检查 ,终于发现计算总和时x,y坐标写反了。

统计: 569ms

原创粉丝点击