C/C++の宿題を片づけます 50代目
■ このスレッドは過去ログ倉庫に格納されています
0256デフォルトの名無しさん
2005/09/17(土) 23:54:514要素{A,B,C,D}に対して、
生成される部分列は{A,B,C,D, A+B,B+C,C+D, A+B+C,B+C+D, A+B+C+D}
つまり、n要素に対する部分列の個数はn(n+1)/2である。
A,B,C,Dの何れも正負の符号を取るのならば、
部分列に新たな要素を加算した総和が元に比べ単純増加するとは限らない。
(A+B)>(A+B+C)という可能性もある。
結局、全ての部分列の要素について総和を求める必要がある。
これは数列の要素数nが2以上の場合になりたち、この問題の計算量は最小でもO(n^2)である。
のではまかろーに?
■ このスレッドは過去ログ倉庫に格納されています