题目来源:http://codeforces.com/problemset/problem/333/D

题意就是找一个矩形,ans是四个顶点的最小值,求ans的最大值

想了好久的DP,没想到  有空再想想

最后是二分加搜索

说不清  看代码比较好理解

就是把每一列大于mid的位置记录  然后找下一列是否会重叠,如果重叠则证明还存在更优的  然后二分

代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
#define MAXN 1005
using namespace std;
int n,m,maxv,ans;
int a[MAXN][MAXN];
bool vis[MAXN][MAXN];
int max(int A,int B)
{if(A>B)return A;elsereturn B;
}
bool find(int mid)
{memset(vis,false,sizeof(vis));int set[MAXN];for(int i=0;i<n;i++){int sum=0;for(int j=0;j<m;j++){if(a[i][j]>=mid){set[sum]=j;sum++;}}for(int j=0;j<sum-1;j++){for(int k=j+1;k<sum;k++){if(vis[set[j]][set[k]]){return true;}vis[set[j]][set[k]]=true;}}}return false;
}
int main()
{while(~scanf("%d%d",&n,&m)){maxv=0;ans=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){scanf("%d",&a[i][j]);maxv=max(maxv,a[i][j]);}}int l=0;int r=maxv;while(l<=r){int mid=(l+r)/2;if(find(mid)){l=mid+1;ans=max(ans,mid);}else{r=mid-1;}}printf("%d\n",ans);}return 0;
}

CF-333D- Characteristics of Rectangles相关推荐

  1. CF 333D Characteristics of Rectangles

    因为是最小值的最大值,首先我们想到用二分来查找答案. 剩下的就是实现判断mid是否可行的方法. 我们用vis[i][j]表示是否某行的i,j是大于等于mid的. 当下次出现i,j便说明2行组成一个矩形 ...

  2. Codeforces 333D Characteristics of Rectangles

    二分. 收获:二分判断函数中,不一定非要解合法才返回真,只要它能单调的逼近真正的解即可.比如这道题中一些值在矩阵中不一定存在但是判断函数仍然返回1,最终得到的答案一定是存在的. 代码: #includ ...

  3. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)...

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/B 题面: B. Gerald is into Art time limit per t ...

  4. 【打CF,学算法——二星级】CodeForces 292A SMSC (模拟)

    [CF简介] 提交链接:CF 292A 题面: A. SMSC time limit per test   2 seconds memory limit per test  256 megabytes ...

  5. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  6. R语言ggplot2可视化、在可视化区域中自定义添加多个大小不同矩形阴影区域、自定义配置大小不同矩形阴影区域的颜色(Adding multiple shadows/rectangles)

    R语言ggplot2可视化.在可视化区域中自定义添加多个大小不同矩形阴影区域.自定义配置大小不同矩形阴影区域的颜色(Adding multiple shadows/rectangles) 目录

  7. matplotlib可视化基本散点图、在图像多个指定区域绘制方框、进行自定义色彩填充(Draw Multiple Rectangles)

    matplotlib可视化基本散点图.在图像多个指定区域绘制方框.进行自定义色彩填充(Draw Multiple Rectangles) 目录

  8. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  9. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  10. SAP QM QE02 修改检验结果,报错 -No characteristics were found–

    SAP QM QE02 修改检验结果,报错 -No characteristics were found– 已经执行完事务代码QE01为检验批9000000208的0010工序录入好了检验结果. 试图 ...

最新文章

  1. TensorFlow--线性回归问题初步
  2. basys2数码管共阳还是共阴_数据选择器Multiplexer || 数码管动态显示 ||实现逻辑函数 || 重难考点 || 数电...
  3. P2056-[ZJOI2007]捉迷藏【点分树,堆】
  4. c语言高亮字符,C语言必背18个程序+190例--语法高亮
  5. 爬虫_抓取51job招聘数据
  6. Vue指令v-show和v-if的区别
  7. Linux下Nginx安装
  8. Linux_ppc下软件包安装,LINUX2000PPC安装手册
  9. c++ 查看opencv版本 linux
  10. 图像检索:基于内容的图像检索技术
  11. 无需软件,使用copy命令合并FLV文件
  12. 按关键字爬取百度图片
  13. 安装 smartgit
  14. 智慧园区运行监控中心
  15. IntelliJ IDEA 13 皮肤/编辑器字体设置
  16. 25-方向传感器实现指南针
  17. 微信小程序 自定义组件
  18. libreoffice安装+libreoffice转换pdf (linux)
  19. 北邮计算机上岸日记+春招面经
  20. 数据结构系列-初识数据结构

热门文章

  1. Unity 5 physX CPU 水印去除
  2. 嵌入式实时操作系统uc/OS-II第4章课后习题1-3
  3. 数据标签使用技法与重要问题
  4. mysql主键generated_将主键索引追加到mysql(使用Mysql workbench)导致“GENERATED ALWAYS AS”错误...
  5. 无线路由器组网设服务器,闲来无事开一贴说说无线路由和家庭组网
  6. Kinect试衣镜添加调节服装水平偏移量,实现更完美贴合
  7. 最近闲话比较多了, 应该消停点~
  8. 双循环比赛队伍排列组合问题
  9. 串口控制74HC164C语言,STM8 74hc164串口输出扩为并口输出子程序
  10. 收到开复老师亲笔签名的自传:)《小鸟》更需加油哦!