记忆化dfs

状态方程:st,st[i][j]:存储矩阵[i][j]开始的最长严格递减长度

int dfs(int i,int j){

    if(st[i][j]!=0) return st[i][j];

    int ma=0;

    for(int k=0;k<4;k++){

        int ni=i+dir[k][0],nj=j+dir[k][1];

        if(ni>=0 && ni<n && nj>=0 && nj<m && g[ni][nj]<g[i][j]){

            ma=max(ma,dfs(ni,nj)+1);

        }

    }

    st[i][j]=max(1,ma);

    return st[i][j];

}

全部评论

相关推荐

notbeentak...:就抓,嗯抓,开不开匿名都要抓,一点坏事不让说,就对公司顶礼膜拜佩服的五体投地就对了
点赞 评论 收藏
分享
11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务