一道难度适中的的小清新思维好题
我们先对原矩阵做一遍膜$K$意义下的前缀和
不难发现,膜$K$意义下前缀和相等的两个矩形
它们的前缀和的差一定是$K$的倍数
但是我们必须保证这两个矩形不重叠的部分一定是一个矩形
那么我们可以先枚举上下边界再枚举右边界
开一个桶依次记录膜$K$意义下的前缀和
最后根据每个数出现的次数计算贡献即可
特别要注意的是把桶清空的时候不能$memset$
1 |
|
Lonely Kid Hides in Heart
一道难度适中的的小清新思维好题
我们先对原矩阵做一遍膜$K$意义下的前缀和
不难发现,膜$K$意义下前缀和相等的两个矩形
它们的前缀和的差一定是$K$的倍数
但是我们必须保证这两个矩形不重叠的部分一定是一个矩形
那么我们可以先枚举上下边界再枚举右边界
开一个桶依次记录膜$K$意义下的前缀和
最后根据每个数出现的次数计算贡献即可
特别要注意的是把桶清空的时候不能$memset$
1 | #include<bits/stdc++.h> |