私はこの問題を抱えています.正の数の配列が与えられた場合、隣接する2つの要素が選択されないように、要素の最大合計を見つける必要があります. 最大値は特定の特定の K よりも小さくなければなりません。 k なしで同様の問題の行を考えてみましたが、これまでのところ失敗しました。後者の問題については、次の dp っぽいソリューションがあります。
int sum1,sum2 = 0;
int sum = sum1 = a[0];
for(int i=1; i<n; i++)
{
sum = max(sum2 + a[i], sum1);
sum2 = sum1;
sum1 = sum;
}
誰かが私の現在の問題を進める方法についてのヒントを教えてもらえますか??