반응형
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10, M=1e9+7;
typedef long long ll;
ll inv[N]={0,1}, cat[N]={1,1};
int main(){
int n;
scanf("%d",&n);
for(int i=2; i<N; ++i) inv[i]=inv[M%i]*(M-M/i)%M; // modulo inverse
for(int i=2; i<N; ++i) cat[i]=cat[i-1]*(4*i%M-2)%M*inv[i+1]%M; // catalan numbers
}
C(i) = C(i-1) x (4i - 2)
반응형
'PS > Study' 카테고리의 다른 글
공부할 알고리즘 목록 (0) | 2021.11.03 |
---|---|
알고리즘별 기본 문제 (수정 예정) (0) | 2021.08.19 |
모듈러 인버스 (modulo inverse) (0) | 2021.08.09 |
에라토스테네스의 체 (0) | 2021.08.09 |
N! mod P (0) | 2019.09.20 |