二項係数

二項係数をあらかじめ計算しておきたい場合に使う。グローバルに貼り付けて、C[n][k]を呼び出すだけ。
C_SIZE=2000のlong longでちょうどtopcoder のメモリ64MBの半分を使う。

const int C_SIZE=2010;
ll C[C_SIZE][C_SIZE];
struct C_INIT{
	C_INIT(){
		clr(C);
		REP(i,C_SIZE){
			C[i][0]=1;
			C[i][i]=1;
			for(int j=1; j<=i-1; j++) C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;
		}
	}
}c_init;
 

タグ:

+ タグ編集
  • タグ:
最終更新:2012年06月08日 19:04