要素の合計を最大化する実数の配列のK
サイズのばらばらで連続したサブセットを見つけるアルゴリズムを見つけようとしています。L
x
詳細を説明すると、X は N 個の正の実数のセットです。
X={x[1],x[2],...x[N]} where x[j]>=0 for all j=1,...,N.
呼び出される長さ L の連続するサブセットは、 position で始まり positionで終わるS[i]
X の L 個の連続するメンバーとして定義されます。n[i]
n[i]+L-1
S[i] = {x[j] | j=n[i],n[i]+1,...,n[i]+L-1} = {x[n[i]],x[n[i]+1],...,x[n[i]+L-1]}.
そのような部分集合のうちの 2 つS[i]
とS[j]
は|n[i]-n[j]|>=L
、つまり、X の同一のメンバーは含まれていません。
各サブセットのメンバーの合計を定義します。
SUM[i] = x[n[i]]+x[n[i]+1]+...+x[n[i]+L-1];
目標は、最大化 S[1],S[2],...,S[K]
されるように、長さ L のK 個の連続したばらばらの (重複しない) サブセットを見つけることです。SUM[1]+SUM[2]+...+SUM[K]