题意:

给你一个矩阵 ,你能往各个方向走(不走出去就行),每次只能上下左右走一格,问路径上的点权最大值和最小值的差最小是多少。

思路:

首先 二分最后的答案,

暴力枚举当前的区间是啥。

DFS 就OK 了

(我的代码可能有点儿小问题…… 枚举的时候没有判左上角的点)

(但是AC了哈哈哈)

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,Map[105][105],a[105][105],maxx=0,minn=120,Right,Left,Mid,ans;
int xx[]={1,-1,0,0},yy[]={0,0,1,-1};
bool vis[105][105];
bool dfs(int x,int y,int Maxx,int Minn){
// printf("%d %d\n",x,y);
if(x==n&&y==n)return 1;
for(int i=0;i<=3;i++){
if(!vis[x+xx[i]][y+yy[i]]){
vis[x+xx[i]][y+yy[i]]=1;
if(a[x+xx[i]][y+yy[i]]>Maxx&&a[x+xx[i]][y+yy[i]]-Minn<=Mid){
if(dfs(x+xx[i],y+yy[i],a[x+xx[i]][y+yy[i]],Minn))return 1;
}
else if(a[x+xx[i]][y+yy[i]]<Minn&&Maxx-a[x+xx[i]][y+yy[i]]<=Mid){
if(dfs(x+xx[i],y+yy[i],Maxx,a[x+xx[i]][y+yy[i]]))return 1;
}
else if(a[x+xx[i]][y+yy[i]]>=Minn&&a[x+xx[i]][y+yy[i]]<=Maxx){
if(dfs(x+xx[i],y+yy[i],Maxx,Minn))return 1;
}
}
}
return 0;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
scanf("%d",&Map[i][j]);
maxx=max(maxx,Map[i][j]);
minn=min(minn,Map[i][j]);
}
}
Right=100;Left=0;
while(Left<=Right){
// printf("%d %d\n",Left,Right);
Mid=(Left+Right)/2;int f=0;
for(int ii=minn;ii<=maxx;ii++){
memset(vis,0,sizeof(vis));memset(a,0xcf,sizeof(a));
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(Map[i][j]<=ii+Mid&&Map[i][j]>=ii){
a[i][j]=Map[i][j];
}
}
}
if(dfs(1,1,Map[1][1],Map[1][1]))f=1;
}
if(f)Right=Mid-1,ans=Mid;
else Left=Mid+1;
}
printf("%d\n",ans);
}

POJ 2110 二分+暴搜的更多相关文章

  1. poj 3080 Blue Jeans(水题 暴搜)

    题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...

  2. hdu 4400 离散化+二分+BFS(暴搜剪枝还超时的时候可以借鉴一下)

    Mines Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  3. POJ 1945 暴搜+打表 (Or 暴搜+判重)

    思路: 呃呃 暴搜+打表 暴搜的程序::稳稳的TLE+MLE (但是我们可以用来打表) 然后我们就可以打表过了 hiahiahia 可以证明最小的那个数不会超过200(怎么证明的我也不知道),然后就直 ...

  4. [POJ 1204]Word Puzzles(Trie树暴搜&amp;AC自己主动机)

    Description Word puzzles are usually simple and very entertaining for all ages. They are so entertai ...

  5. POJ 1414 暴搜

    题意比较复杂 (但是很好理解) 大概意思是给你等边三角形(详见题目中的图). 最后一行有n个数,下一次要填的数是c. 里面预先已经填好了数字.(0为未填) 得分的标准是这个分数的连通块周围没有空的地方 ...

  6. POJ 3188暴搜

    题意: 思路: 裸的暴搜 --. 但是要注意如果你不用所有的按键就能输出最优解的话一定要把所有的字母都安排到一个位置-. 我的一群PE就是这么来的-- 为什么写的人这么少-- // by Sirius ...

  7. POJ 2132 暴搜OR Floyd

    题意: 给你一个邻接矩阵(n<=25)问所有1到2路径的gcd的lcm是多少. 一些经验(WA/TLE的经验): 1. 无脑暴搜 是会TLE的--. 2. 关于精度 dyf神牛说了:long l ...

  8. POJ 2133 暴搜

    题意: 思路: 按照题意暴搜 注意 如果目标串==给的串 答案是2 //By SiriurRen #include <cstdio> #include <cstring> #i ...

  9. 模拟 + 暴搜 --- Help Me with the Game

    Help Me with the Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3175   Accepted: ...

随机推荐

  1. PC端 java 开发蓝牙所遇到的问题

    由于项目的原因.要在电脑上开发一个通过蓝牙传送数据的client.我採用的是JAVA,JSME开发. client:去搜素蓝牙信号,然后找到对应的蓝牙信号进行连接. 服务端:client须要进行连接的 ...

  2. JSP简单练习-上传文件

    注意:在编写上传文件的代码时,需确保"WEB-INF/lib"下含有jspsmartupload.jar包.否则会出错. jspSmartupload.jar下载 <!-- ...

  3. 微软版UnityVs横空出世,究竟是谁成就了谁?

    在移动互联网浪潮持续发力下,手游行业也异常火热.在现在的手游行业,Unity3d无疑是最耀眼的哪颗星.一直觉得Unity面向设计师是友好的,对程序猿这边并非非常友好. 2012年用Unity时开发工具 ...

  4. yii自己定义CLinkPager分页

    在components中自己定义LinkPager.并继承CLinkPager 代码例如以下: <? php /** * CLinkPager class file. * * @author l ...

  5. chrome的F12的inspect使用

    chrome中查看cookie https://stackoverflow.com/questions/10014996/how-do-you-check-cookies-using-chrome T ...

  6. [JZOJ 100026] [NOIP2017提高A组模拟7.7] 图 解题报告 (倍增)

    题目链接: http://172.16.0.132/senior/#main/show/100026 题目: 有一个$n$个点$n$条边的有向图,每条边为$<i,f(i),w(i)>$,意 ...

  7. http_build_query 字符串拼接

    http_build_query 字符串拼接 产生一个urlencode之后的请求字符串. 1.将数组转化成url问号(?)后的字符串 <?php $date=array( 'name'=> ...

  8. ActiveMQ学习笔记(3)----JMS的可靠性机制

    1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功的消费了,消息成功消费通常包含三个阶段:客户接收消息,客户处理消息和消息被确认. 在事务性会话中,当一个事务被提交的时候,确认自动发生. ...

  9. ZBrush软件特性之Material

    在ZBrush中,任何物体表面的外观都是多种因素的综合结果,例如基础颜色.纹理图像投落到表面上的照明效果和材质属性.材质可以改变照明在表面上的反应,以便模型表现出光泽.凹凸.反射.金属性或透明效果.Z ...

  10. UVA-12186 Another Crisis 树形dp

    题目链接:https://cn.vjudge.net/problem/UVA-12186 题意 给出n, T和一棵树,树上每个节点需要选择T%个直属子节点. 问根节点一共需要选择几个节点. 思路 思路 ...