参考:https://blog.csdn.net/FAreStorm/article/details/49200383

没有技术含量但是难想难写,枚举情况图详见参考blog懒得画了

bzoj蜜汁TTTTTTTTTTTTTTTLE

upd:bzoj数据有问题,快读GG

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1505;
int n,m,k,a[N][N],b[N][N],c[N][N],d[N][N],s[N][N],p[N][N],h[N][N],l[N][N],mxh[N],mxl[N],ans;
int read()
{
int r=0,f=1;
char p=getchar();
while(p>'9'||p<'0')
{
if(p=='-')
f=-1;
p=getchar();
}
while(p>='0'&&p<='9')
{
r=r*10+p-48;
p=getchar();
}
return r*f;
}
int main()
{
n=read(),m=read(),k=read();
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+read();
for(int i=k;i<=n;i++)
for(int j=k;j<=m;j++)
p[i][j]=s[i][j]-s[i-k][j]-s[i][j-k]+s[i-k][j-k],a[i][j]=max(p[i][j],max(a[i-1][j],a[i][j-1]));
for(int i=k;i<=n;i++)
for(int j=m-k+1;j>=1;j--)
b[i][j]=max(p[i][j+k-1],max(b[i-1][j],b[i][j+1]));
for(int i=n-k+1;i>=1;i--)
for(int j=k;j<=m;j++)
c[i][j]=max(p[i+k-1][j],max(c[i+1][j],c[i][j-1]));
for(int i=n-k+1;i>=1;i--)
for(int j=m-k+1;j>=1;j--)
d[i][j]=max(p[i+k-1][j+k-1],max(d[i+1][j],d[i][j+1]));
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
mxh[i]=max(mxh[i],p[i][j]),mxl[j]=max(mxl[j],p[i][j]);
for(int i=1;i<=n;i++)
{
h[i][i+k-1]=mxh[i+k-1];
for(int j=i+k;j<=n;j++)
h[i][j]=max(h[i][j-1],mxh[j]);
}
for(int i=1;i<=m;i++)
{
l[i][i+k-1]=mxl[i+k-1];
for(int j=i+k;j<=m;j++)
l[i][j]=max(l[i][j-1],mxl[j]);
}
for(int i=k;i<=n-k+1;i++)
for(int j=k;j<=m-k+1;j++)
ans=max(ans,max(max(a[i][j]+c[i+1][j]+l[j+1][m],l[1][j]+b[i][j+1]+d[i+1][j+1]),max(a[i][j]+b[i][j+1]+h[i+1][n],h[1][i]+c[i+1][j]+d[i+1][j+1])));
for(int i=k;i<=n-k+1;i++)
for(int j=i+k-1;j<=n-k+1;j++)
ans=max(ans,h[1][i-1]+h[i][j]+h[j+1][n]);
for(int i=k;i<=m-k+1;i++)
for(int j=i+k-1;j<=m-k+1;j++)
ans=max(ans,l[1][i-1]+l[i][j]+l[j+1][n]);
printf("%d\n",ans);
return 0;
}

最新文章

  1. HDFS NameNode 设计实现解析
  2. asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
  3. 基于docker+etcd+confd + haproxy构建高可用、自发现的web服务
  4. Java CSV操作(导出和导入)
  5. 动态加载JS
  6. 使用httpclient时候,出现“Too many open files”问题
  7. ButterKnife的简单使用
  8. SDUT2142数据结构实验之图论二:基于邻接表的广度优先搜索遍历
  9. SQL Server常见问题总结
  10. 跑马灯效果的TextView之singLine 和maxLines
  11. spring security3.2配置---权限管理
  12. c#委托和事件(上)
  13. C++实现发送HTTP请求
  14. 使用Intent启动组件
  15. JavaWeb项目之电话本,两个版本,以及总结反思
  16. odoo 配置文件参数大全
  17. git init github
  18. java 、HashMap 和单例
  19. Mapreduce其他部分
  20. SQLSERVER性能计数器的简单剖析

热门文章

  1. 解决使用FusionCharts以后从后台获取数据中文乱码的问题
  2. 如何判断一个app是原生app还是 webapp,或者是混合app
  3. 没啥用,更换注册表信息使webbrower选择适合的版本
  4. 09-js数组常用方法
  5. 【python】urllib2
  6. 【Nginx】如何使用http配置
  7. Atitit. 软件GUIbutton与仪表盘--webserver区--获取apache配置文件路径 linux and apache的启动、停止、重新启动
  8. JavaSE入门学习23:Java面向对象之构造方法
  9. Hibernate也须要呵护——Hibernate的泛型DAO
  10. Codeforces 755 F. PolandBall and Gifts 多重背包+贪心