1007 Maximum Subsequence Sum (25 分)
题目链接
算法分析
我用了vector数据结构,来存可能为解的和为整数的连续子列,然后再对每一个子列进行处理,末尾的负数和0给删掉,然后输出结果就可以了。
测试点
测试点二和测试点六:问题在没有把末尾的0删掉(i,j最小)
测试点五:“段错误”,最后发现是用vector的pop_back导致段错误。修改了一下就没问题了。

代码实现
#include<bits/stdc++.h>
using namespace std;
#define N 10005
int t;
int SK[N], x[N];
vector< int >Vec[N];
int L[N], R[N];
int main(){
int n;
bool flag = 1;
int Sum = 0;
scanf("%d", &n);
for(int i = 1; i <= n; ++ i){
scanf("%d"

本文探讨了一道编程题——1007MaximumSubsequenceSum,主要涉及动态规划和数组处理。作者分析了使用vector存储可能解的方法,并通过遍历和调整优化了代码。对比了自己与柳神的代码实现,指出删除无用元素和减少遍历次数可以显著提升效率。最终给出了优化后的代码实现。
最低0.47元/天 解锁文章
453

被折叠的 条评论
为什么被折叠?



