动态规划:清帝之惑之顺治

问题:

在这里插入图片描述

算法:动态规划

来源:算法课程盗取的vijos题

思路:

不会,参考大佬:
阶段:地图上的任意一个位置
状态:设f(i,j)表示(i,j)这个位置的最长路径
决策:f(i,j)=max{f(i-1,j),f(i,j-1),f(i+1,j),f(i,j+1)}+1
很明显有后效性,所以采用递归进行消除

代码:

int m,n;
int A[600][600];
int B[600][600];
int dp(int x,int y)
{
 if(B[x][y]) return B[x][y];
 int w;
 if(x>0 && A[x-1][y]<A[x][y])
 {
  w=dp(x-1,y);
     if(w>B[x][y]) B[x][y]=w;
 }
  if(y>0 && A[x][y-1]<A[x][y])
 {
  w=dp(x,y-1);
  if(w>B[x][y]) B[x][y]=w;
 }
 
    if(x<m-1 && A[x+1][y]<A[x][y])
    {
     w=dp(x+1,y);
  if(w>B[x][y]) B[x][y]=w;
 }
  if(y<n-1 && A[x][y+1]<A[x][

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/103108598
今日推荐