zoukankan      html  css  js  c++  java
  • 2018.8.21 2018暑假集训之滑雪

    这个题原来做过

    结果现在忘了

    再来一遍


    试题描述
    LYH喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当LYH滑到坡底,不得不再次走上坡或等着直升机来载他,LYH想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数字代表点的高度。下面是一个例子:
    1     2     3     4     5
    16    17    18    19    6
    15    24    25    20    7
    14    23    22    21    8
    13    12    11    10    9
    一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小,在上面的例子中,一条可行的滑坡为25-24-17-16-1(从25开始到1结束),当然25-24……2…1更长,事实上这是最长的一条。
    输入
    输入的第一行为表示区域的二维数组的行数R和列数C(1≤R、C≤100)下面是R行,每行有C个数代表高度。
    输出
    输出区域中最长的滑坡长度。
    输入示例
    5 5
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9
    输出示例
    25

    表示不会打这个题的dp所以打搜索
    为了避免TLE加上一个记忆化
    大概思路就是枚举以每个点为起点的最长路径
    最后输出一个最长的就可以了
    上代码
    #include<iostream>
    using namespace std;
    long long n,m,map[1005][1005],maxn,dp[1005][1005];
    static const int dx[4]={-1,1,0,0},dy[4]={0,0,-1,1};
    int dfs(int x,int y)
    {
        if(dp[x][y])return dp[x][y];
        int t=1;
        for(int i=0;i<4;i++)
        {
            int tx=x+dx[i],ty=y+dy[i];
            if(map[tx][ty]>=map[x][y]||tx<=0||ty<=0||tx>n||ty>m)continue;
            int tmp=dfs(tx,ty)+1;
            t=max(t,tmp);
        }
        dp[x][y]=t;
        return t;
    }
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)scanf("%d",&map[i][j]);
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                long long tmp=dfs(i,j);
                maxn=max(maxn,tmp);
            }
        }
        printf("%d",maxn);
    }

    一个经典的dp和记忆化

    后来问了dalao其实这个题的dp就是记忆化

    好吧Q_Q

    /*====年轻人,瞎搞是出不了省一的,这就是现实====*/
  • 相关阅读:
    微信公众号,图片预览功能 有单个图片,
    MUI
    MUI学习01-顶部导航栏
    php验证18位身份证,准到必须输入正确的身份证号,
    微信sdk 图片上传 两种方法 上传一张显示一张 并附带微信图片放大功能和删除功能
    jQuery实现限制input框 textarea文本框输入字符数量的方法
    js jq 手机号实现(344) 附带删除功能 jq 实现银行卡没四个数加一个空格 附带删除功能
    山东省2016acm省赛
    East Central North America Region 2015
    North America Qualifier (2015)
  • 原文地址:https://www.cnblogs.com/qxds/p/9510839.html
Copyright © 2011-2022 走看看