• 洛谷 P1732 活蹦乱跳的香穗子


    题目描述

    香穗子在田野上调蘑菇!她跳啊跳,发现自己很无聊,于是她想了一个有趣的事情,每个格子最多只能经过1次,且每个格子都有其价值

    跳的规则是这样的,香穗子可以向上下左右四个方向跳到相邻的格子,并且她只能往价值更高(这里是严格的大于)的格子跳.

    香穗子可以从任意的格子出发,在任意的格子结束,

    那么她最多能跳几次?

    输入输出格式

    输入格式:

    第一行n,m,表示田野的长和宽

    接下来n行,每行m个数,表示该格的价值

    输出格式:

    一个数,表示最多跳得次数

    输入输出样例

    输入样例#1:
    2 2
    2 5
    -1 3
    输出样例#1:
    2

    说明

    n,m<=100

    答案保证小于Maxlongint

    屠龙宝刀点击就送

    记忆化搜索 

    #include <cstdio>
    long long f[1510][1510],value[1510][1510];
    long long n,m,maxn=-1;
    long long fx[5]={1,-1,0,0},fy[5]={0,0,-1,1};
    long long max(long long a,long long b)
    {
        return a>b?a:b;
    }
    long long qr(long long &x)
    {
        x=0;bool f=1;
        char ch=getchar();
        while(ch>'9'||ch<'0')
        {
            if(ch=='-') f=0;
            ch=getchar();
        }
        while(ch>='0'&&ch<='9')
        {
            x=x*10+(long long)ch-48;
            ch=getchar();
        }
        x=f?x:(~x)+1;
    }
    long long dfs(long long u,long long v)
    {
        if(f[u][v]) return f[u][v];
        long long p=0;
        for(long long i=0;i<4;++i)
        {
            long long x=u+fx[i],y=v+fy[i];
            if(x>=1&&x<=n&&y>=1&&y<=m&&value[x][y]>value[u][v])
            p=max(dfs(x,y),p);
        }
        f[u][v]=p+1;
        return f[u][v];
    }
    int main()
    {
        qr(n);
        qr(m);
        for(long long i=1;i<=n;i++)
            for(long long j=1;j<=m;++j)
                qr(value[i][j]);
        for(long long i=1;i<=n;i++)
            for(long long j=1;j<=m;++j)
                maxn=max(maxn,dfs(i,j));
        printf("%lld",maxn-1);
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    服务器文档下载zip格式
    关于精度,模运算和高精的问题//19/07/14
    Luogu P2010 回文日期 // 暴力
    树形DP水题集合 6/18
    普通背包水题集合 2019/6/17
    因为时间少
    重学树状数组6/14(P3368 【模板】树状数组 2)
    Luogu P1291 [SHOI2002]百事世界杯之旅 // 易错的期望
    Luogu P4316 绿豆蛙的归宿//期望
    树剖
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6680808.html
Copyright © 2020-2023  润新知