![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数论
数论基础
心一QAQ
总是学不会,再聪明一点!
展开
-
卡特兰数及其应用
Catalan递推式 公式一 h(0)=0,h(1)=1h(n)=h(0)⋅h(n−1)+h(1)⋅h(n−2)+⋯+h(n−1)⋅h(0) h(0)=0,h(1)=1\\ h(n)=h(0) \cdot h(n-1)+h(1) \cdot h(n-2)+\cdots+h(n-1)\cdot h(0)h(0)=0,h(1)=1h(n)=h(0)⋅h(n−1)+h(1)⋅h(n−2)+⋯+h(n−1)⋅h(0) 公式二 h(n)=h(n−1)⋅4n−2n+1h(n)=h(n-1)\cdot \frac{原创 2020-12-03 09:55:44 · 176 阅读 · 0 评论 -
数论基础 素数筛法(埃氏筛法/线性筛法)
埃氏筛法 (1)(1)埃氏筛法的思想:对于不超过N的素数p,筛除掉2p,3p,4p…,当筛完所有的数之后,还没有被筛掉的数就都是素数。 (2)时间复杂度:O(nloglogn) const int N = 1e6 + 5; int prime[N]; bool is_prime[N]; //is_prime[i]为true时表示i是素数 int cnt = 0; //素数的个数 void Init(int n) { memset(is_prime, true, sizeof(is_prim原创 2020-09-22 17:18:06 · 480 阅读 · 1 评论 -
数论基础 组合数
方法一:利用递推式C(n, m) = C(n-1, m) + C(n-1, m-1); #include <iostream> using namespace std; const int N = 1e3+5; const int mod = 1e9+7; int c[N][N]; int n,a,b; void init() { for(int i=0;i<N;i++) for(int j=0;j<=i;j++) {原创 2020-09-18 18:27:20 · 118 阅读 · 0 评论