のピットBSGSについての最初の話:
式A ^x≡B(モッズP)のソリューション
特別審査員の事=>%のp == Bの%p == 0が必要ですか?
彼らは、その後、プット(「1」)とその逆のない溶液等しい場合。
= 0%P場合、アイテムが誤っBSGSアルゴリズムで得られた、移動することができないので
話題に:
カトラー数(C(2 * N、N)/(N + 1))01ケース1のシーケンス番号0>の任意の位置を処理します。。
しかし、無用な定義を知って、することが重要であるテーブルをヒットの法則を発見します。
next_permutation、検索や他のツールで調べることで、いくつかの良いです。
1251442132429:という最初の数カトレア番号を覚えておいてください。(とにかく、あなただけのこれらの項目を見つけることができます)
見つけるための方法として、最も単純な、弾性率の第一は、ルーカス、モジュロない高精度を使用することができます。
その他の高精度のような動物はまた、高精度をヒット、品質係数の分解を好きではない、データは小さなはO(n ^ 2)列挙してもよいです。
素因数にコードについて投稿者:
1の#include <cstdioを> 2の#include <iostreamの> 3 使用して 名前空間STDを、 4 の#define MAXN 4000005 5 INT プライム[MAXN]、TOT、nは、[MAXN]、FENZI [MAXN]、TOT1 frpr。 6 ボイドプレ() 7 { 8 のための(int型 I = 2 ; iは= < 2 * N; iは++ ) 9 { 10 であれば(!frpr [I]) 11 { 12 frpr [I] = I。 13 プライム[++ TOT = I。 14 } 15 のための(INT J = 1 ; J <= TOT; J ++ ) 16 { 17 であれば(プライム[J] * I> 2 * N)ブレーク。 18 frpr [プライム[J] * I] = プライム[J]。 19 もし((I%、プライム[J])!)ブレーク。 20 } 21 } 22 リターン。 23 } 24 空隙 Get_pr(int型のx、int型OPT) 25 { 26 ながら(X!= 1) 27 { 28 であれば(OPTの== 0)FENZI [frpr [X]] ++ ; 29 他 FENZI [frpr [X]] - 。 30 X / = frpr [X]。 31 } 32 リターン。 33 } 34 のint main()の 35 { 36 のint P、ANS = 1 。 37 のscanf(" %D%dの"、&N&P)。 38 プレ()。 39 のために(int型 I = N + 2、I <= 2* N; i)はGet_pr(I ++ 0 )。 40 のためには、(int型 I = 1 Get_pr(I、iは++; iがn = <)1 )。 41 のために(int型 I = 1 <; = TOT iが++ I ) 42 { 43 ながら(FENZI [プライム[I]]> 0 ) 44 { 45 ANS = 1LL * ANS *プライム[I]%のP。 46 FENZI [プライム[I]] - 。 47 } 48 } 49 COUT << ANS << ENDL。 50 リターン 0 ; 51 }
二pruferシーケンス
Nは、ノードN 2・バイ・ポイントの基準木とはprufer配列を実証することができ、対応するツリーが一意に決定される表します。
我々はいくつかの推論を得ることができます。
1. N無根ツリーを構成するドットの数:N ^(N-2)
(N-2)/((D1-1)*(D2-1)* ... !!)2.ツリー数のそれぞれD1、D2、...ないルート次数n点を決定!
前記n個の点は、ルート付きツリーの参照番号を有する:N * N ^(N-2)= N ^(N-1)
4.すべてのノード度N * 2-2
木の数をカウントすることに加え、他の何か。。。それは欠けている(聞いても暴力列挙を最適化します)