经典的线性DP问题。
f[i] 表示只考虑前 i 个数可以获得的最大值。
f[0]=0,f[1]=a[1]
状态转移方程为:
塔子哥有一个整数数组,现在他想从中选出一些数,使得这些数的和尽可能大。但是他不想同时选择数组中相邻的元素,问你有没有什么算法可以快速选出这些数。注意,塔子哥是一个有追求的人,考虑到有 n 个数,所以他要求算法能够在 O(n) 的时间复杂度内算出答案。
一行,输入 n 个正整数 (n>0) ,以 EOF 结尾
第一行输出塔子哥选中的数在整数数组中的索引,空格隔开,且以空格结束。 第二行输出塔子哥选中的数之和
输入
1 6 2 7 3 8 4 9 5 10
输出
1 3 5 7 9
40
本题属于以下题库,请选择所需题库进行购买