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<iostream>
#include<cstring>
#include<map>
#include<iterator>
using namespace std;
int n;
int m;
int l;
int main(){
cin>>n>>m>>l;
map<int,int> h;
for(int i=0;i<l;i++){
    h[i]=0;
}
for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
       int value;
       cin>>value;
       h[value]++;
    }
}
for(map<int,int>::iterator it=h.begin();it!=h.end();it++){
    cout<<it->second<<" ";
}
return 0;
}
  • 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<iostream>
#include<vector>
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<Point> v;
for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        int value;
        cin>>value;
        Point p={i,j,value};
        v.push_back(p);
    }
}
for(int i=0;i<v.size();i++){
        double sum=0;
        double num=0;
    for(int j=0;j<v.size();j++){
    if(isNeighbor(v[i],v[j])) {
      
        num++;
        sum+=v[j].value;
    }
   }
   sum/=num;

   if(sum<=t) ans++;
}
cout<<ans;
return 0;
}

优化
使用前缀和
[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的领域和(即红框),则需用绿-紫-粉+棕(因为棕色被减了两次)

ljm要加油
原文地址:https://www.cnblogs.com/ljmmm1/p/15614556.html