我的代码上去就是 直接纯粹的  暴力  .   居然没有超时   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. Linux命令学习(3): zcat 直接查看压缩文件

    版权声明:本文为博主原创文章,未经允许不得转载. zcat 用途:在不解压文件的情况下,直接将文件内容输出到标准输出.(原压缩文件不做任何更改) 格式:zcat [-n] [-V] [FILE] 参数 ...

  2. python 配置文件 ConfigParser模块

    ConfigParser模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见文档格式如下 [DEFAULT] Se ...

  3. mesh topology for airfoil, wing, blade, turbo

    ref Ch. 5, Anderson, CFD the basics with applications numerical grid generation foundations and appl ...

  4. MySQL 查询状态

    查询状态 SHOW FULL PROCESSLIST 对于一个连接,或者说一个线程,任何时刻都有一个状态,该状态表示了MySQL当前正在做什么. mysql>SHOW FULL PROCESSL ...

  5. Unity高像素截图

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51386272 作者:car ...

  6. Adobe AIR 代码签名证书使用指南

    Symantec,Thawte,GlobalSign 签发的代码签名证书都可以签名AIR文件.如果您还没有代码签名证书,请联系易维信(EVTrust)购买Adobe AIR 代码签名证书. 1.签名工 ...

  7. DJANGO中正规的建立与USER外键的方式

    以前都是直接与user 最近看书,上说settings.AUTH_USER_MODEL,这样好些...是为记. from django.db import models from django.con ...

  8. P3372 【模板】线段树 1 洛谷

    https://www.luogu.org/problem/show?pid=3372 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 ...

  9. spring mvc参数校验

    一.在SringMVC中使用 使用注解 1.准备校验时使用的JAR validation-api-1.0.0.GA.jar:JDK的接口: hibernate-validator-4.2.0.Fina ...

  10. Swift: 转换NSString to String

    如下代码获取一个String?的结果 let s = NSString(data: data, encoding: encoding) return s as? String