ACWING算法提高课-动态规划

  1. 摘花生
    1. 思路:到达某一个位置(x, y)的方法只有两种,第一种是从(x, y - 1),即从左方抵达,第二种是从(x - 1, y),即从上方抵达。
    2. 状态表示:f[i][j]表示抵达位置(i , j)时的总花生数。
    3. 状态转移:f[i][j] = x[i][j] + max(f[i - 1][j], f[i][j - 1]);
  2. 最低通行费
    1. 思路:需要尽快并且费用最少,那么最优策略就是不断地向右下移动,即到达(x, y)的前一时刻位置只有(x, y - 1)、(x - 1, y)两种。
    2. 状态表示:f[i][j]表示抵达位置(i, j)时的总花费
    3. 状态转移:
      1. 当处于最左方时,f[i][j] = x[i][j] + f[i - 1][j];
      2. 当处于最上方时, f[i][j] = x[i][j] + f[i][j - 1];
      3. 当处于中间时,f[i][j] = x[i][j] + min(f[i - 1][j], f[i][j - 1]);
posted @ 2021-02-18 21:42  ACM-Epoch  阅读(257)  评论(0编辑  收藏  举报