CodeForces 173 C. Spiral Maximum 解题报告
2013-08-16 13:41
405 查看
题目
题意:
题目定义了一种环形的结构spiral,对于所有size的spiral求最大的和。
题解:
观察第一个和第二个图,可发现第一个图加上左上角左边的格子就是第二个图的白色部分,所以可以容斥。
题意:
题目定义了一种环形的结构spiral,对于所有size的spiral求最大的和。
题解:
观察第一个和第二个图,可发现第一个图加上左上角左边的格子就是第二个图的白色部分,所以可以容斥。
//Time:280ms //Memory:2000KB #include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <vector> #include <map> #include <queue> #include <set> #define MAXN 510 #define INF 1000000007 #define MP(x,y) make_pair(x,y) #define FI first #define SE second #define EPS 1e-8 using namespace std; int num[MAXN][MAXN],sum[MAXN][MAXN]; int n,m; int main() { //freopen("/home/moor/Code/input","r",stdin); int ans; while(scanf("%d%d",&n,&m)==2) { for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) scanf("%d",&num[i][j]); memset(sum,0,sizeof(sum)); for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) sum[i][j]=num[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]; ans=-INF; for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) { int pre=num[i][j],tmp=min(min(i-1,n-i),min(j-1,m-j)); for(int k=1;k<=tmp;++k) { pre=sum[i+k][j+k]-sum[i+k][j-k-1]-sum[i-k-1][j+k] +sum[i-k-1][j-k-1]-pre-num[i-k+1][j-k]; ans=max(ans,pre); } } printf("%d\n",ans); } return 0; }
相关文章推荐
- codeforces 338(Div 2) B. Longtail Hedgehog 解题报告
- Codeforces 815 C 树形依赖背包 解题报告
- codeforces 257C解题报告
- Codeforces 410 div 2 【解题报告】
- Codeforces 130A - Testing Pants for Sadness(解题报告)
- Codeforces 193D Two Segments 解题报告
- CUGBACM Codeforces Tranning 1 解题报告
- CodeForces 908C. New Year and Curling 解题报告 Java
- 2018.2.4【 CodeForces - 831A 】解题报告(模拟)
- 解题报告:CodeForces - 662C:Binary Table FWT(快速沃尔什变换)
- codeforces 519C A and B and Team Training 解题报告 贪心
- codeforces 447C. DZY Loves Sequences 解题报告(446A)
- [codeforces解题报告]More Reclamation
- 解题报告 之 CodeForces 581D Three Logos
- codeforces 814B.An express train to reveries 解题报告
- [Author : DS]Codeforces 243D 解题报告
- Codeforces 474(#271 Div 2) 解题报告
- 解题报告: Codeforces 396A. On Number of Decompositions into Multipliers 组合
- [leetcode] 173. Binary Search Tree Iterator 解题报告
- codeforces 339B Xenia and Ringroad 解题报告