暴力是4方的,开始我只3方(扫描的时候更新当前最大)

二分+暴力可以做到m^2logMAX

二分答案,暴力枚举可行的两个位置形成一段,对于段,最多只会有m^2种情况。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std; int n,m,a[][],bef[];
bool v[][];
bool check(int mid)
{
memset(v,false,sizeof(v));
for(int i=;i<=n;i++)
{
int last=;
memset(bef,,sizeof(bef));
for(int j=;j<=m;j++)
{
if(!(a[i][j]<mid))
{
for(int k=last;k;k=bef[k])
{
if(v[k][j])return true;
v[k][j]=true;
}
bef[j]=last;
last=j;
}
}
}
return false;
}
int main()
{
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
int mmin=,mmax=;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
scanf("%d",&a[i][j]);
mmax=max(mmax,a[i][j]);
mmin=min(mmin,a[i][j]);
} int l=mmin,r=mmax,ans;
while(l<=r)
{
int mid=(l+r)/;
if(check(mid))
{
ans=mid;
l=mid+;
}
else r=mid-;
}
printf("%d\n",ans);
return ;
}

最新文章

  1. 页面加载完后自动执行一个方法的js代码
  2. OpenGL渲染管线
  3. C语言实现penna模型
  4. php连接和操作mysql数据库
  5. lievent源码分析:evbuffer
  6. Qt程序启动画面播放(gif与swf两种动画格式)
  7. HBase中的备份和故障恢复方法
  8. 实现函数 isInteger(x) 来判断 x 是否是整数
  9. phpcms 缓存
  10. BestCoder Round#11div2 1003
  11. 云计算——Google App Eng…
  12. Basic Skill
  13. R语言高性能编程,优化(一)
  14. 【原创】Webpack构建中hash的优化
  15. 软件补丁问题(SPFA+位运算)
  16. CSS 快速学习
  17. PPT模板中的”书签”
  18. 算法 - Catalan数 (卡特兰)
  19. docker Dockerfile 创建镜像
  20. C语言文法推导

热门文章

  1. jQuery——类的添加与删除
  2. JS——样式类的添加
  3. C#——工厂模式
  4. [Windows Server 2012] Tomcat安全加固方法
  5. 【译】x86程序员手册06 - 2.4指令格式
  6. Caffe FCN:可视化featureMaps和Weights(C++)、获取FCN结果
  7. 文件上传原理--FileReader
  8. 取三级分销上下级用户id
  9. 图表实现基于SVG或Canvas
  10. NSE入门--nmap 脚本基础