一上来题意就没懂, 各种翻译也没搞出来。
只好看别人解题报告了, 好不容易看懂了, 卡壳了。。。。。。。
最大子序列问题。彻底不明白, 做过了的, 还是不懂。
各种学,,这都入门2个礼拜了, 还是不能自己独立解决问题。
看来是没天赋, 继续加油。争取假期结束前, 自己能够A掉几道水题。
大三了都,, 太伤了。
这个还是借鉴的....
#include <stdio.h>
int main()
{
int n, i, j, d[1005], dp[1005], max;
while (scanf("%d", &n) && n)
{
for (i = 0; i < n; i++)
scanf("%d", &d[i]);
dp[0] = d[0];
for (i = 1; i < n; i++)
{
dp[i] = d[i];
for (j = 0; j < i; j ++)
if (d[j] < d[i] && dp[j] + d[i] > dp[i])
dp[i] = d[i] + dp[j];
}
max = 0;
for (i = 0; i < n; i++)
max = max > dp[i] ? max : dp[i];
printf("%d\n", max);
}
return 0;
}

本文探讨了一个典型的算法问题——最大子序列和问题,并通过一个具体的C语言实现案例进行了解析。作者分享了自己在解决该问题过程中的困惑与收获,提供了一段易于理解的代码示例。
433

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



