?
?
对于一个n*n(n <= 1000)的01矩阵,初始全为0,有两种操作。
C x1 y1 x2 y2 ,分别代表矩阵的左上角和右下角,将这个矩阵中的01互换,原为0的变为1,原为1的变为0。
Q x y询问A[x,y]现在是几。
?
因为只有01的互换,且原始为0,那么只需计算[x,y]处被换了几次就能确定现在这个格子是几。重点就是怎样快速计算[x,y]格子被换了几次。操作方法是将[x1,y1][x1,y2+1][x2+1,y1][x2+1,y2+1]格子出增加1,对于[x,y]只需求[1,1]到[x,y]的和就是[x,y]出被换了几次。
?
若转化成一维的,感觉和多校的一道题挺像,hdu 4970
详解
?
?
#include
#include
#include
?