202104 csp
- 1.灰度直方图
样例输入
4 4 16
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
样例输出
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
样例输入
7 11 8
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0
样例输出
48 0 0 0 0 0 0 29
#include
#include
#include
- 2.邻域均值
样例输入
4 16 1 6
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
样例输出
7
样例输入
11 8 2 2
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
样例输出
83
70分
#include
#include
using namespace std;
int n,l,r,t;
int ans = 0;
class Point{
public:
int x;
int y;
int value;
};
int isNeighbor(Point p1,Point p2){
if(abs(p1.x-p2.x)<=r&&abs(p1.y-p2.y)<=r) return 1;
return 0;
}
int main(){
cin>>n>>l>>r>>t;
vector v;
for(int i=0;i>value;
Point p={i,j,value};
v.push_back(p);
}
}
for(int i=0;i
优化
使用前缀和
[https://blog.csdn.net/CS_Kevin_1/article/details/115605466]
[https://tigerisland.blog.csdn.net/article/details/119704146]
主要是利用前面计算好的计算下一个(感觉像DP)
1.先计算以(i,j)为右下角的矩阵
2.找出递推关系
若r=1,要计算15的领域和(即红框),则需用绿-紫-粉+棕(因为棕色被减了两次)