mを法とする固定nの最初のr二項係数の合計を見つけるアルゴリズム

Rohit Sharma

固定nの最初のr個の二項係数の合計を見つけようとしています。

(nC1 + nC2 + nC3 + ... + nCr)%M

ここで、r <= nです。

この問題を解決するための効率的なアルゴリズムはありますか?

エドワード・ドゥーリトル

固定のための「最初の」二項係数という注意nですnC0しましょうf(n) = nC0 + nC1 + ... + nC(r-1)「パスカルの三角形」のアイデンティティnCk = (n-1)C(k-1) + (n-1)Ckを使用して、

    nC0 + nC1 + nC2 + ... + nC(r-1)
    =(n-1)C(-1)+(n-1)C0 +(n-1)C0 +(n-1)C1 +( n-1)C1 +(n-1)C2 + ... +(n-1)C(r-2)+(n-1)C(r-1)
    = 2 [(n-1)C0 + (n-1)C1 +(n-1)C2 + ... +(n-1)C(r-2)] +(n-1)C(r-1)
    = 2 [(n-1) C0 + ... +(n-1)C(r-1)]-(n-1)C(r-1)、
    
つまり、 f(n) = 2f(n-1) - (n-1)C(r-1) 各合計は、前を2倍にして、を引くことにより、前から計算できます (n-1)C(r-1)

たとえば、の場合r=3

    f(0)= 1、
    f(1)= 1 + 1 = 2 = 2f(0)-0C2、
    f(2)= 1 + 2 + 1 = 4 = 2f(1)-1C2、
    f(3)= 1 + 3 + 3 = 7 = 2f(2)-2C2、
    f(4)= 1 + 4 + 6 = 11 = 2f(3)-3C2、
    f(5)= 1 + 5 + 10 = 16 = 2f( 4)-4C2、
    
等々。

mod mの計算を実行するには、二項係数を事前に計算する必要があります(n-1)C(r-1) mod m場合m素数である、二項係数はmod mサイクル環状であるm^k(のパワーmよりも大きいですr-1)。mが素数の累乗である場合、結果はかなり複雑になります。http://www.dms.umontreal.ca/~andrew/PDF/BinCoeff.pdfを参照してください。)mに複数の素因数がある場合、中国剰余定理を使用して計算を前のケースに減らすことができます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

固定nの最初のr二項係数の合計を見つける方法は?

分類Dev

mを法とする大きなnおよびkの二項係数を見つける

分類Dev

二項係数を計算するための再帰的アルゴリズムの時間計算量

分類Dev

二分探索木で最小合計を見つけるためのアルゴリズムの改善

分類Dev

数の最大の素数を見つけるアルゴリズム

分類Dev

アルゴリズムの命令の数を見つける

分類Dev

'a'と 'b'の値を見つけるための最適なアルゴリズムを設計する

分類Dev

最大合計を見つけるための整数のnxn行列の動的計画法アルゴリズム

分類Dev

最適な寸法の組み合わせを見つけるためのアルゴリズム

分類Dev

固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

分類Dev

固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

分類Dev

級数の無限大までの合計を見つけるこのアルゴリズムは受け入れられますか?

分類Dev

合計がN以下のサイズLのすべての可能な配列を見つけるアルゴリズム

分類Dev

なぜ、アルゴリズムの時間計算量を見つける際に、対数の基数が常に2と見なされるのですか?

分類Dev

配列内の最初の一意の値を見つけるアルゴリズムを改善する

分類Dev

合計が値以下である最長の組み合わせを見つけるアルゴリズム

分類Dev

分類法の理想的なカーネル/アルゴリズム引数を見つける方法は?

分類Dev

「n」個のフィボナッチ数の合計を見つけるMATLABアルゴリズムが機能せず、理由がわかりません

分類Dev

`n`を3つの平方の合計に分割する数(高速アルゴリズム)

分類Dev

大きなデータフレームのrの係数で変数の最小値と最大値を見つけるための計算上非課金アルゴリズム?

分類Dev

最小の計算量で素数を見つけるアルゴリズム

分類Dev

アルゴリズムの時間計算量を見つける方法

分類Dev

リスト内の3つの異なる要素を見つけるためのO(log n)アルゴリズムを設計する

分類Dev

リスト内の連結されたすべての整数のペアの合計を見つけるための効率的なアルゴリズム

分類Dev

x ^ n <= yとなるような最大のnを見つけるための最速のアルゴリズム

分類Dev

すべてのパス合計を見つけるためのこのアルゴリズムの時間計算量はどれくらいですか?

分類Dev

おおよその数を見つけるためのアルゴリズム

分類Dev

PHPで合計の最も近い値を見つけるアルゴリズム

分類Dev

配列の要素の特定の合計を複数回格納するためのアルゴリズムを見つける

Related 関連記事

  1. 1

    固定nの最初のr二項係数の合計を見つける方法は?

  2. 2

    mを法とする大きなnおよびkの二項係数を見つける

  3. 3

    二項係数を計算するための再帰的アルゴリズムの時間計算量

  4. 4

    二分探索木で最小合計を見つけるためのアルゴリズムの改善

  5. 5

    数の最大の素数を見つけるアルゴリズム

  6. 6

    アルゴリズムの命令の数を見つける

  7. 7

    'a'と 'b'の値を見つけるための最適なアルゴリズムを設計する

  8. 8

    最大合計を見つけるための整数のnxn行列の動的計画法アルゴリズム

  9. 9

    最適な寸法の組み合わせを見つけるためのアルゴリズム

  10. 10

    固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

  11. 11

    固定領域で単一の変数関数の最小/最大を見つけるアルゴリズム

  12. 12

    級数の無限大までの合計を見つけるこのアルゴリズムは受け入れられますか?

  13. 13

    合計がN以下のサイズLのすべての可能な配列を見つけるアルゴリズム

  14. 14

    なぜ、アルゴリズムの時間計算量を見つける際に、対数の基数が常に2と見なされるのですか?

  15. 15

    配列内の最初の一意の値を見つけるアルゴリズムを改善する

  16. 16

    合計が値以下である最長の組み合わせを見つけるアルゴリズム

  17. 17

    分類法の理想的なカーネル/アルゴリズム引数を見つける方法は?

  18. 18

    「n」個のフィボナッチ数の合計を見つけるMATLABアルゴリズムが機能せず、理由がわかりません

  19. 19

    `n`を3つの平方の合計に分割する数(高速アルゴリズム)

  20. 20

    大きなデータフレームのrの係数で変数の最小値と最大値を見つけるための計算上非課金アルゴリズム?

  21. 21

    最小の計算量で素数を見つけるアルゴリズム

  22. 22

    アルゴリズムの時間計算量を見つける方法

  23. 23

    リスト内の3つの異なる要素を見つけるためのO(log n)アルゴリズムを設計する

  24. 24

    リスト内の連結されたすべての整数のペアの合計を見つけるための効率的なアルゴリズム

  25. 25

    x ^ n <= yとなるような最大のnを見つけるための最速のアルゴリズム

  26. 26

    すべてのパス合計を見つけるためのこのアルゴリズムの時間計算量はどれくらいですか?

  27. 27

    おおよその数を見つけるためのアルゴリズム

  28. 28

    PHPで合計の最も近い値を見つけるアルゴリズム

  29. 29

    配列の要素の特定の合計を複数回格納するためのアルゴリズムを見つける

ホットタグ

アーカイブ