集合 X = {a, b, c} のペアごとの積は、すべての可能な集合ペアの積の合計として定義できます。セットのペアは Y = {a * a, a * b, a *c, b * b, b * c, c * c} で、積は可換です。したがって、集合 X の対積は、集合 Y の要素の合計であり、aa ab ac bb bc cc となります。
数学用語では、可能なペアごとの積の合計は次のように表すことができます:
$$\mathrm{\displaystyle\sum\limits_{i=1,j=i}^{i\leq n,j\leq n}\:(i,j)=i\time j}$$
###問題文###例 例 1
リーリー リーリー1*1 1*2 1*3 1*4 2*2 2*3 2*4 3*3 3*4 4*4 = 1 2 3 4 4 6 8 9 12 16 = 65
例 例 2
リーリー リーリー1*1 1*2 … 1*10 2*2 2*3 … 2*10 3*3 3*4 … 3*10 4*4 4 *5 … 4*10 5*5 5*6 … 5*10 6*6 6*7 … 6*10 7*7 7*8 … 7*10 8* 8 8*9 8*10 9*9 9*10 10*10 = 1705
方法 1: ブルート フォース クラッキング方法
疑似コード
リーリー時間計算量 - O(n^2)
方法 2
n = 4 を例に挙げます。
上記を単純化すると、
I = 1*1 (1 2)*2 (1 2 3)*3 (1 2 3 4)*4
prefix_sum[1] = 1,
とします。プレフィックス合計[2] = 1 2,
プレフィックス合計[3] = 1 2 3,
プレフィックス合計[2] = 1 2,
疑似コード
リーリー例: C 実装
以上が各ペアの積の合計の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。