CodeForces - 1236B(数学の単純な組み合わせ)

問題の意味

ありnは、商品の種類及びm個のバックパックは、満たすために各記事の無限の数、バックパックにこれらのアイテムの数が今、あります。

図1に示すように、バックパックの各々は、物品の同じ種類にすることはできません(バックパックフリー可能)が発生。

2、すべてメートルのバックパックは、それぞれの記事が登場しています。

プログラムの数を求めて10 ^ 7 + 9 のmod。

思考

少なくとも、各アイテムは、全体のスキームが減算されるように表示されないように、一度全てのバックパックに表示させたいので、その後のアイテムのために私は、SO 2をその、プログラム中の2が^メートルあり、それぞれのバックパック内の各項目が表示されますを考えます^ M - 1、アイテムがnあり、それは(2 ^ M -1)である^ nは

コード

 

#include <ビット/ STDC ++ H> 
名前空間STDを使用して、
#define INF 0x3f3f3f3f 
の#define LL長い長
のconst int型N = 200005。
const int型MOD = 1E9 + 7。
constのダブルEPS = 1E-8; 
constのダブルPI = ACOS(-1.0); 
#define lowbit(X)(X&( - X))
LL GCD(-1,11,11- B){戻りB == 0:GCD(B、%のB);}?
LL qpow(-1,11,11- B) {LL RES = 1;一方、(b)は、{(B&1)であれば、RES = RES *%のMOD; A = A *%のMOD; B >> = 1;}戻りRES;} 
LL INV(LL A、LL P ){戻りqpow(P-2);} 
int型のmain()
{ 
    のstd :: IOS :: sync_with_stdio(偽)。
    LL N、M。
    CIN >> N >> M。
    COUT << qpow((qpow(2、M)-1 + MOD)%のMOD、N)<< ENDL。
    0を返します。
}

  

おすすめ

転載: www.cnblogs.com/mcq1999/p/11906527.html