算法第三章作业
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) 提高自身实力自信。

浙公网安备 33010602011771号