算法第三章作业

1. 你对动态规划算法的理解(2分)

(1) 递归转递推

(2) 优化解决循环重复的问题

2. 分别列出编程题1、2的递归方程(2分)

(1)

void slove() {

    int res = 0;

    for(int i = 0; i < n; ++i) {

        for(int j = 0; j < i; ++j)

            if(a[j] < a[i])

                dp[i] = max_(dp[i], dp[j] + 1);

        res = max_(dp[i], res);

}

(2)

for (int k = 2; k < n; k++)

  for (int i = 0; i < n - k; i++) {

    int j = i + k;

    for (int p = i + 1; p < j; p++) {

      int tmp = fee[i][p] + fee[p][j];

      if (fee[i][j] > tmp)

      fee[i][j] = tmp;

      }

    }

 

3. 说明结对编程情况(1分)

(1) 共同解决难题。

(2) 提高自身实力自信。

 

posted @ 2019-11-04 12:16  AloneGhost  阅读(105)  评论(0)    收藏  举报