我的代码上去就是 直接纯粹的  暴力  .   居然没有超时   200ms  可能数据比较小   一会在优化

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<limits.h>
#include<algorithm>
#include<queue>
#include<vector>
#include<set>
#include<stack>
#include<string>
#include<sstream>
#include<map>
#include<cctype>
using namespace std;
int n,m,a[][],visited[][],b[][]={,-,,,-,,,},minn;
void DFS(int y,int x,int now)
{
for(int i=;i<;i++)
{
int x1=x+b[i][],y1=y+b[i][];
if(x1>=&&x1<m&&y1>=&&y1<n&&!visited[y1][x1]&&a[y1][x1]<a[y][x])
{
now++;
if(now>minn)
minn=now;
visited[y1][x1]=;
DFS(y1,x1,now);
visited[y1][x1]=;
now--;
}
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&m,&n);
for(int i=;i<n;i++)
for(int j=;j<n;j++)
scanf("%d",&a[i][j]);
minn=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
{
memset(visited,,sizeof(visited));
visited[i][j]=;
DFS(i,j,);
}
printf("%d\n",minn);
}
}

下面附上 动态规划的 解法     这个 动态规划  是一种  人人为我 , 的思想  ,  先根据 高度进行从小到的 排序  然后 然后从 第二小的 开始  检查 周围是否 有比他 还小的  ,  如果有的话 , 将周围的 +1 个 自身相比 取最大值  ,   废话少说  放码过来

 #include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<limits.h>
#include<algorithm>
#include<queue>
#include<vector>
#include<set>
#include<stack>
#include<string>
#include<sstream>
#include<map>
#include<cctype>
using namespace std;
struct node
{
int x,y,h;
}a[];
bool cmp(node example_a,node example_b)
{
return example_a.h<example_b.h;
}
int b[][]={,-,,,-,,,},c[][],d[][];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
int total=;
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
d[i][j]=;
scanf("%d",&c[i][j]);
a[total].h=c[i][j],a[total].x=j,a[total].y=i; // 将所有的 长度 默认为 1
total++;
}
}
sort(a,a+total,cmp);
int maxn=;
for(int i=;i<total;i++) // 从 第二小的 开始 当周围 有 比他小 的 就 +1
{
for(int j=;j<;j++)
{
if(a[i].x+b[j][]>=&&a[i].x+b[j][]<m&&a[i].y+b[j][]>=&&a[i].y+b[j][]<n&&c[a[i].y][a[i].x]>c[a[i].y+b[j][]][a[i].x+b[j][]])
{
d[a[i].y][a[i].x]=max(d[a[i].y][a[i].x],d[a[i].y+b[j][]][a[i].x+b[j][]]+);
maxn=max(maxn,d[a[i].y][a[i].x]);
}
}
}
printf("%d\n",maxn);
}
return ;
}

skiing 暴力搜索 + 动态规划的更多相关文章

  1. ACM 暴力搜索题 题目整理

    UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...

  2. hdu 4740 The Donkey of Gui Zhou(暴力搜索)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...

  3. 区间Dp 暴力枚举+动态规划 Hdu1081

    F - 最大子矩形 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Des ...

  4. hdu 1427 速算24点 dfs暴力搜索

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem De ...

  5. 随手练——洛谷-P1151(枚举与暴力搜索)

    枚举 #include <iostream> using namespace std; int main() { ; cin >> k; ; i < ; i++) { ) ...

  6. 枚举进程——暴力搜索内存(Ring0)

    上面说过了隐藏进程,这篇博客我们就简单描述一下暴力搜索进程. 一个进程要运行,必然会加载到内存中,断链隐藏进程只是把EPROCESS从链表上摘除了,但它还是驻留在内存中的.这样我们就有了找到它的方法. ...

  7. [luogu 1092] 虫食算 (暴力搜索剪枝)

    传送门 Description Input 包含四行. 第一行有一个正整数 (N≤26). 后面的三行,每行有一个由大写字母组成的字符串,分别代表两个加数以及和.这3个字符串左右两端都没有空格,从高位 ...

  8. HDU 3131 One…Two…Five! (暴力搜索)

    题目链接:pid=3131">HDU 3131 One-Two-Five! (暴力搜索) 题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6= ...

  9. 吴裕雄 python 机器学习——模型选择参数优化暴力搜索寻优GridSearchCV模型

    import scipy from sklearn.datasets import load_digits from sklearn.metrics import classification_rep ...

随机推荐

  1. 配置Struts2后运行jsp出现404的解决方法

    更新:善用控制台查看错误信息 --------------------------------------------- 原因:Java Build Path没有导入正确的jar包或者导入了但没有把相 ...

  2. 计算机网络篇(前端、HTTP)

    全端工程师需知道的计算机网络知识 一.网络篇-http报文详解 1. 分类 请求报文 响应报文 2. 报文结构 (一).请求报文 一个HTTP请求报文由请求行(request line).请求头部(h ...

  3. 常用的HTTP测试工具谷歌浏览器插件汇总

    网页的开发和测试时最常见的测试就是HTTP测试,作为曾经的测试人员在这方面还是略知一二的.其实做网页测试工作是非常繁琐的时期,有时候甚至是无聊重复的,如果没有网页测试工具的帮助的话,测试人员会越做越怀 ...

  4. Jmeter使用笔记之断言

    前言 Jmeter的断言方式有很多种,由于在工作中经常做的是API接口测试,所以这篇文章主要介绍如何对接口的字段进行解析,如何对解析出来的字段的值断言 了解API接口 Restful API 规范 协 ...

  5. dual boot

    https://askubuntu.com/questions/1031993/how-to-install-ubuntu-18-04-alongside-windows-10 https://www ...

  6. c#读取.config文件内容

    今天在做项目的时候,由于程序同时启动多种情况的数据,测试分为多个人,就需要把数据分离开来,于是用了一个临时的配置文件,让测试在配置文件修改相应数据从而让各个测试互相不影响! 步骤: 第一步:添加一个A ...

  7. Shell中的循环语句实例

    1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:" ...

  8. MYSQL常用的时间日期函数

    #时间日期函数 #获取当前日期XXXX-XX-XXSELECT CURRENT_DATE(); SELECT CURDATE();#效果与上一条相同 #获取当前日期与时间XXXX-XX-XX XX:X ...

  9. linux下nginx+svn

    http://fengqi.me/unix/23.html 因为没有什么可以定制的, 所以svn直接使用系统自带的包管理软件安装, 以centos系列为例, 命令如下: yum install sub ...

  10. 违章查询免费api接口代码

    能够依据城市+车牌号+发动机号查询违章信息列表. 违章实体类 package org.wx.xhelper.model; /** * 违章实体类 * @author wangxw * @version ...