差分数组是什么呢?
http://www.cnblogs.com/widsom/p/7121047.html
差分数组是前缀和的逆运算,同样运用到容斥原理
一维:
l<=r
a[l]++;
a[r+1]--;
二维:
x1<=x2&&y1<=y2
a[x1][y1]++;
a[x1][y2+1]--;
a[x2+1][y1]--;
a[x2+1][y2+1]++;
三维:
x1<=x2&&y1<=y2&&z1<=z2
a[x1][y1][z1]++;
a[x2+1][y1][z1]--;
a[x1][y2+1][z1]--;
a[x1][y1][z2+1]--;
a[x1][y2+1][z2+1]++;
a[x2+1][y1][z2+1]++;
a[x2+1][y2+1][z1]++;
a[x2+1][y2+1][z2+1]--;
是不是很简单,是不是很有规律,相信你能写出大于3维的情况了