差分的还原操作千万不能 记错,是 ch[i][j]+=-ch[i-1][j-1]+ch[i-1][j]+ch[i][j-1]

模板:


int ch[10][10];
/*修改(标记储存)*/
void change(int x1, int y1, int x2, int y2)
{
    ch[x1][y1]++, ch[x2+1][y2+1]++;
    ch[x2+1][y1]--, ch[x1][y2+1]--;
}
/*还原为正常数组*/
for (int i=1; i<=n; ++i)
    for (int j=1; j<=n; ++j)
        ch[i][j]+=-ch[i-1][j-1]+ch[i-1][j]+ch[i][j-1];