哈尔滨第二次热身赛1004
来源:互联网 发布:mac连wifi能开热点吗 编辑:程序博客网 时间:2024/04/28 20:43
最大的子六边形!!!降成最大矩阵和,在降成最大字段和,其算法和最大子矩阵和一样!!!
#include<iostream>
#include<string.h>
using namespace std;
int a[305][305][305],a1[305][305],a2[305];
int fun(int m,int n){
int _max=-1;int sum=0;int ans=-1;
for(int j=0;j<m;j++)
{
memset(a2,0,sizeof(a2));
for(int k=j;k<m;k++){
for(int u=0;u<n;u++) a2[u]+=a1[k][u];
ans=a2[0];sum=0;//此处初始化很关键
for(int x=0;x<n;x++){
sum+=a2[x];
if(sum>ans) ans=sum;
if(sum<0) sum=0;
}
if(ans>_max) _max=ans;
}
}
return _max;
}
int main(){
int T;
cin>>T;
while(T--){
int l,m,n;
cin>>l>>m>>n;
int _max=0;int ans=0;
for(int k=0;k<l;k++)
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>a[k][i][j];
for(int i=0;i<l;i++){
memset(a1,0,sizeof(a1));
for(int h=i;h<l;h++){
for(int k=0;k<m;k++)
for(int j=0;j<n;j++)
a1[k][j]+=a[h][k][j];//将其不同层但m和n相同的加起来!!!
int _max=fun(m,n);
if(_max>ans) ans=_max;
}
}
if(ans>0)
cout<<ans<<endl;
else cout<<"0"<<endl;
}
return 0;}
- 哈尔滨第二次热身赛1004
- 哈尔滨赛区热身赛 A题
- 哈尔滨理工大学新生赛(热身赛)
- 哈工大第二次热身赛1006(悲剧team12 c9q7m9t4)
- 热身赛
- 热身赛
- HDOJ热身赛1004--复习下排列组合公式
- 2016百度之星热身赛 1004
- 第二次
- 第二次
- 第二次
- 第二次
- 第二次
- 第二次
- 第二次、
- 第二次
- 第二次
- 第二次
- ssh 整合方式总结
- 美国硬币表示
- sqlite简介
- 开车时的眼神可暴露出真实驾驶水平
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器
- 哈尔滨第二次热身赛1004
- Qt之Gradient渐变填充
- VS2005 安装文件 "由于应用程序配置不正确,应用程序未能启动"
- 吴冠中的传统国画
- 字符编码详解及由来(UNICODE,UTF-8,GBK)
- Magento Site Performance Optimization
- UltraEdit正则表达式搜索替换小技巧
- 不用JS也能让工具栏悬浮于网页顶部(兼容所有浏览器)
- 语言统计学三大定律:Zipf law,Heaps law和Benford law