poj2029Get Many Persimmon Trees(最大矩阵和)

链接

类似最大矩阵 sum存下 枚举最大就是

 1 #include <iostream>

 2 #include<cstdio>

 3 #include<cstring>

 4 #include<algorithm>

 5 #include<stdlib.h>

 6 using namespace std;

 7 int sum[110][110],o[110][110];

 8 int main()

 9 {

10     int i,j,n,w,h,a,b;

11     while(scanf("%d",&n)&&n)

12     {

13         scanf("%d%d",&h,&w);

14         memset(o,0,sizeof(o));

15         memset(sum,0,sizeof(sum));

16         for(i = 1; i <= n ;i++)

17         {

18             scanf("%d%d",&a,&b);

19             o[b][a] = 1;

20         }

21         int s,t;

22         scanf("%d%d",&s,&t);

23         for(i = 1; i <= w ; i++)

24             for(j = 1; j <= h ; j++)

25             sum[i][j] = sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+o[i][j];

26         int ans = 0;

27         for(i = t; i <= w ; i++)

28             for(j = s ; j <= h ; j++)

29             ans = max(ans,sum[i][j]-sum[i-t][j]-sum[i][j-s]+sum[i-t][j-s]);

30         printf("%d\n",ans);

31     }

32     return 0;

33 }
View Code

 

 

你可能感兴趣的:(tree)