-
第三章实验报告
算法实践报告第三章 1.实践题目名称 7-1 最大子段和 2.问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 3.算法 -
第3章实验总结
1.实践题目名称:最大子段和 2.问题描述:给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n -
第三章上机实践报告
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 -
算法第三章上机实验报告
1.1 问题描述 题目名称: 问题描述:给出一组序列,求其连续的一段子序列加起来的和最大,即最大子段和问题。 1.2 算法描述 (1)因为题目要求算法的时间复杂度为o(n),蛮力枚举法O(n^3),优化枚举法O(n^2)分而治之法O(nlogn)都不可以,因此我们考虑用到动态规划。 (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 -
算法第三章上机实践报告
1.实践报告 1.1 问题描述 1.2 算法描述 #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int sum=0,b=0; for(int i=1;i<=n;i++) { int a; cin>>a -
算法实践报告第三章
1.实践题目名称 7-1 最大子段和 2.问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 3.算法描述 #includ -
算法第三章作业
1.1 问题描述 7-1 最大子段和 (25 分) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2 算法描述 令temp -
算法第三章上机实验报告
1 问题描述 7-3 最低通行费 (25 分) 一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。 这个商人期望在 -
算法第三张实践报告
1 问题分析 1.1 问题概述 给定一段序列,子段和为其中一段子序列相加所得的和数,求最大子段和数。 1.2 算法实现 根据动态规划方程 dp[i] = max(dp[i - 1], k); 其中 k 表示从0到 i 的相加的和大于0的子段,若 k 小于0则令 k 等于当前位置的数值,并且重新计算子