题目描述:给你一个大的二维数组a[n][n],小的b[m][m],让b在a中滑动,求出b的每一位与a的对应位置的异或,再求和。思路:不可能暴力枚举n^2*m^2,tle考虑到每一个b[i][j]在a中的移动轨迹都是一个大小相同的矩形,分析得到左上角a[i][j],和右下角a[n-m+i][n-m+j],求出来这个矩阵的元素个数s=(n-m+1)*(n-m+1),构建一个01数组,用前缀和o(1)的取出a数组每一位有多少个1 #include<bits/stdc++.h> using namespace std; // 题目要求的取模常数 const int MOD = 1e9 + ...