私はこの最小合計を得るための高速計算?
row1: x1 x2 x3... xn, y1,y2,...yn
row2: x2,x3,....xj, y4,y5,...ym
.....
row 1 million, x6,x2,x7...xk, y2,y3,...yl
各行のようなデータは、xとyの数一つ百万も
より各行、同じ値を有することができ、xまたはyのいくつかの数であることができる持っています。行1と行2のようにx2は共通です。
私の目標は、xとyの最小の和をどの行で見つけるかということです。 たとえば、行1の合計はsum(x1 + x2、.. + xn + y1 + y2 + ... yn)です。
徹底的な方法では動作しますが、100万回* 100万回の操作が発生するため、非常に遅くなります。 私はいくつかの巧妙な方法で動作すると信じています。
おかげ
更新:実際
上記の問題は、行列のパーティションから来:,この行列を分割するには、少なくとも5つの方法がある5x5の
1 2 3 4 5
2 3 4 5 6
2 3 4 5 8
9 1 2 3 5
1 5 2 5 6
で以下のような行列を与えますたとえば、
1 2 | 3 4 5
2 3 | 4 5 6
----+------
2 3 | 4 5 8
9 1 | 2 3 5
1 5 | 2 5 6
二つのサブマトリックス
1 2
2 3
と
4 5 8
2 3 5
2 5 6
ので、実際に1 2 2 3 Iが参照Xであり、4 5 8 2 3 5 2 5 6私は言及Yです。 です。各行は、マトリックス内の一種の分割です。 私は明確かどうか分からないのですか?コメントを追加してください。
どの行にどの要素が共通しているかを制御するパターンとは何ですか?パターンがない場合は、ゼロから各合計を計算するしかありません。 –
各行の数値には何らかの関係があるため、次の合計を得るためにそれらを再度追加する必要はありませんか? – stark
実際には、これらの数値はすべて行列から来ています。これは行列の分割問題です。数値問題に変換するだけです。 – user974270