记忆化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];

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:45
你不要过来啊啊啊啊啊啊啊
码农索隆:对面:“今天你不面也得面”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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