分析

二分答案

判断左上角是否满足

为了覆盖所有范围

我们依次把右下角,左上角,右上角移动到左上角

代码

#include<bits/stdc++.h>
using namespace std;
int a[][],n,m,Ans=1e9+,mx,mn=1e9+;
inline bool ck(int x){
int i,j,k,l=mn+x,r=mx-x,lim=m;
for(i=;i<=n;i++){
for(j=;j<=lim;j++)
if(a[i][j]<r)break;
lim=min(lim,j-);
for(j=lim+;j<=m;j++)
if(a[i][j]>l)return ;
}
return ;
}
inline void work(){
if(ck()){
puts("");
exit();
}
int le=,ri=mx-mn;
while(ri-le>){
int mid=(le+ri)>>;
if(ck(mid))ri=mid;
else le=mid;
}
Ans=min(Ans,ri);
return;
}
int main(){
int i,j,k;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
for(j=;j<=m;j++)
scanf("%d",&a[i][j]),mn=min(mn,a[i][j]),mx=max(mx,a[i][j]);
work();
for(i=;i<=n/;i++)swap(a[i],a[n-i+]);
work();
for(i=;i<=n;i++)reverse(a[i]+,a[i]+m+);
work();
for(i=;i<=n/;i++)swap(a[i],a[n-i+]);
work();
cout<<Ans;
return ;
}

最新文章

  1. 线程Thread的基础知识学习
  2. select 支持宽高(高度有兼容问题);
  3. Android OpenCV 图像识别
  4. .NET破解之百度网盘批量转存工具
  5. 第十二届浙江省大学生程序设计大赛-May Day Holiday 分类: 比赛 2015-06-26 14:33 10人阅读 评论(0) 收藏
  6. ABBYY FineReader的图像编辑器功能使用方法
  7. 关于jsp利用EL和struts2标签来遍历ValueStack的东东 ------&gt; List&lt;Map&lt;K,V&gt;&gt; 以及 Map&lt;K,&lt;List&lt;xxx&gt;&gt;&gt; 的结构遍历
  8. sdut 2934 人活着系列之平方数 (完全背包变形)
  9. Android XML解析器的问题
  10. Comparing the contribution of NBA draft picks(转)
  11. tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常
  12. PHP正则验证类
  13. (转)Go中的string和[]byte对比
  14. 配置_DruidDataSource参考配置
  15. 死磕nginx系列--配置文档解读
  16. php中的后期静态绑定
  17. 通过yiic来创建yii应用
  18. css3阴影效果
  19. [Erlang27]如何监控指定目录下的*.beam文件,如果有改动就更新到指定的节点?
  20. delphi之读写文件的三种方式

热门文章

  1. vue中的provide/inject讲解
  2. 详解微信小程序支付流程
  3. STL 仿函数(函数对象)
  4. python 操作ssh登录
  5. MySql-8.0.16版本部分安装问题修正
  6. Spring MVC-学习笔记(1)认识spring mvc
  7. 七层模型? IP ,TCP/UDP ,HTTP ,RTSP ,FTP 分别在哪层?
  8. Spring事务嵌套引发的问题--Transaction rolled back because it has been marked as rollback-only
  9. k3 cloud单据体首行过滤功能
  10. go中基本数据类型的相互转换