7-3 最低通行费这题只要知道每个点的前一个点只能是左侧或者上侧相邻的点就基本没什么问题了,初始化的时候第一行只能由左侧到达,第一列只能由上侧到达。 for(int i = 1; i <= n; i++) { f[1][i] += f[1][i-1]; f[i][1] += f[i-1][1]; } ...
转载
2021-10-30 16:36:00
179阅读
2评论
一、问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<=n<=10000); ...
转载
2021-10-23 20:15:00
48阅读
2评论
1. 实践报告任选一题进行分析。内容包括: 1.1 问题描述 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 ...
转载
2021-10-26 21:53:00
121阅读
2评论
1.1 问题描述: 最大子段和:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。 1.2 算法描述: #include <iostr ...
转载
2021-10-26 20:49:00
64阅读
2评论
7-1 最大子段和 1.1 问题描述 1.2 算法描述 int Maxsum(int n, int a[]) { int sum = 0,b=0; for(int i=1;i<=n;i++) { if(b>0) b+=a[i]; else b=a[i]; if(b>sum) sum=b; } ret ...
转载
2021-10-23 14:47:00
38阅读
2评论
1.1问题描述:给出一组数字,求这组数字的最大子段和。 1.2算法描述:初始化; 设置一个max函数,在函数里面设置一个b[i],b[i]是指i前面的数字(包括i)到数字i的最大子段和;通过比较b[i](0=<i<=n),得到c(最大的b[i]),然后返回c; 在main函数里,输入n,通过for循 ...
转载
2021-10-23 11:37:00
16阅读
2评论
1. 实践报告分析 1.1 问题描述 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列 1.2 算法描述 输入一个序列,将其排序得到一个新的序列,并且是递增的,我们就可以将问题转化为求原序列和新序列的最长公共子序列 运用动态规划的思想,我们将子问题的结果继续在一个二维数组中, ...
转载
2021-10-24 16:29:00
58阅读
2评论
1. 实践报告任选一题进行分析 1.1 问题描述 1.2 算法描述 输入一个数组,该数组有n个数值,初始化maxSum和sum,将数组从左往右遍历,依次加num赋给sum,如果sum的值大于maxSum,则将sum赋给maxSum,即寻求序列如a[i]+a[i+1]+…+a[j]的子段和的最大值;如 ...
转载
2021-10-24 15:31:00
21阅读
2评论
算法第三章上机实践报告 1. 实践报告任选一题进行分析。内容包括: 1.1 问题描述 7-4 编辑距离问题 (25 分) 设A和B是2个字符串。 要用最少的字符操作将字符串A转换为字符串B。 这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符 ...
转载
2021-10-25 09:52:00
29阅读
2评论
1.1 问题描述 2个字符串A,B。用最少操作将A转换为B。 操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 输入格式: 第一行输入字符串A,第二行输入字符串B。 输出格式: 输出最少操作数。 输入样例: fxpimu xwrs 输出样例: 5 1.2 算法描 ...
转载
2021-10-26 22:27:00
69阅读
2评论
1.1问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2算法描述 #include<bits/stdc++.h>u ...
转载
2021-10-26 23:54:00
45阅读
2评论
1.1 问题描述 7-3 最低通行费 (25 分) 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期 ...
转载
2021-10-26 23:41:00
38阅读
2评论
1.1 问题描述 7-3 最低通行费 (25 分) 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期 ...
转载
2021-10-26 22:42:00
45阅读
2评论
1.1问题描述 给定n个整数(可能为负数)组成a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。 1.2算法描述 #include <bits/stdc++.h> #de ...
转载
2021-10-26 20:27:00
73阅读
2评论
第三章上机实践报告 1. 实践报告任选一题进行分析。内容包括: 1.1 问题描述 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需 ...
转载
2021-10-26 19:13:00
93阅读
2评论
编辑距离问题 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。 对于给定的字符串A和字符 ...
转载
2021-10-21 19:42:00
62阅读
2评论
算法第三章上机实践报告 1. 题目:单调递增最长子序列 1.1 问题描述 设计一个O(n^2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: ...
转载
2021-10-23 15:59:00
33阅读
2评论
1.1问题描述 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期望在规定时间内用最少费用穿越出去。请 ...
转载
2021-10-23 12:30:00
45阅读
2评论
最大子段和 1.1问题描述:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<=n<= ...
转载
2021-10-23 11:57:00
28阅读
2评论
1.1问题描述 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期望在规定时间内用最少费用穿越出去。请 ...
转载
2021-10-27 00:00:00
48阅读
2评论