一、对动态规划算法的理解
即是把一个问题分解为若干个子问题,子问题和原问题很相像,但规模较小了。在解决一个一个子问题后就可以解决原问题。
二、编程题二的方程
1、7-1 单调递增最长子序列 (20 分)
1 int m = 1;
2 void getans(int a[], int res[],int n){
3 for(int i = 0; i < n; i++){
4 for(int j = 0; j < i; j++){
5 if(a[j] < a[i]&&res[i] < res[j] + 1){
6 res[i] = res[j] + 1;
7 if(res[i] > m)
8 m = res[i];
9 }
10 }
11 }
12 }
其中res[i]序列中,以下表为i的元素为单调递增子序列最后一个元素的序列长度 m用来表示res[i]中最大的元素,即单调递增子序列。
2、7-2 租用游艇问题 (17 分)
void money(int a[][201],int n){
for(int i = 2; i <= n-1; i++){
for(int j = i+1; j <= n; j++){
if(a[1][j] > a[1][i] + a[i][j])
a[1][j] = a[1][i] + a[i][j];
}
}
}
从上到下不断更新从出租站1到其他出租站的最小花费,到最后,记录下从出租站1到所有其他出租站的最小花费。
三、结对编程汇报
由于这次时间不统一,所以没有与伙伴有更好的交流,基本都是各自完成作业,下次会交流一下的。
原文:https://www.cnblogs.com/lussww/p/9905400.html