数论———组合数学
邵光亮
要为自己喜欢的事情不留余力
展开
-
Codeforces 1359 E. Modular Stability
题意:给出 nnn 和 kkk ,要求在 [1,n][1, n][1,n] 中找出不同的 kkk 个数,使得有规律,所有 aia_iai 必须能被最小值 a1a_1a1 整除。只要枚举 a1a_1a1 的值,然后计算组合数就行了。AC代码:const int N = 5e5 + 50;int n, k;const int mod = 998244353;int F[N], Finv[N], inv[N]; //F是阶乘,Finv是逆元的阶乘void init(){ inv[1.原创 2020-05-29 17:00:53 · 140023 阅读 · 0 评论 -
Codeforces 1312 D. Count the Arrays(组合数学)
题意:在 mmm 个数里面挑出 nnn 个数,nnn 个数要先递增后递减,然后必须有两个一样的数,剩下的数各不相同。从 mmm 个数中挑选 nnn 个数进行排列有 Cmn−1C_m^{n-1}Cmn−1从 n−1n-1n−1 个数中除去峰值那个数选取 n−2n-2n−2 个数作为相同的对数有 n−2n-2n−2再从 n−3n-3n−3 个数中选取 iii 个数放在峰值左边...原创 2020-03-10 11:41:17 · 143689 阅读 · 0 评论 -
CTU Open Contest 2019 A. Beer Barrels(组合数)
题意:给出四个整数: A,B,K,CA, B, K, CA,B,K,C, A,B,CA,B,CA,B,C 都是大于 0 的个位数, 问在所有仅由 AAA 或 BBB 组成的 KKK 位数中(KKK 位数的每一位都是 AAA 或 BBB), 数字 CCC 的个数有多少。分三种情况:当 a=b=ca=b=ca=b=c 那么肯定就一种组成的情况,个数就是 kkk。当 a!=ca!=ca!=...原创 2020-02-22 17:53:23 · 516 阅读 · 0 评论 -
HDU 4675 GCD of Sequence (组合数学)
Description:Alice is playing a game with Bob.Alice shows N integers a1,a2,…,aNa_{1}, a_{2}, …, a_{N}a1,a2,…,aN, and M,KM, KM,K. She says each integers 1≤ai≤M1 ≤ a_{i} ≤ M1≤ai≤M.And now Alice wa...原创 2020-01-16 16:17:52 · 222 阅读 · 0 评论 -
2019ICPC南昌 And and Pair (组合数学)
\quad给出一个数的二进制,让你寻找有多少对小于nnn的数可以满足上面三个条件,找规律组合数学。AC代码:#include <cstdio>#include <vector>#include <queue>#include <cstring>#include <cmath>#include <map>#i...原创 2019-12-08 17:17:59 · 767 阅读 · 0 评论 -
二次剩余推理及其求解过程
定义:\quad给出一个式子x2≡n(modp)x^2≡n(mod p)x2≡n(modp),再给出nnn和ppp,如果能求得一个x满足该式子,即xxx满足x2=n+kp,k∈Zx^2=n+kp,k\in Zx2=n+kp,k∈Z,那么我们称nnn是模ppp的二次剩余,若不存在这样的xxx,那么我们称nnn是摸ppp的非二次剩余。同时我们称xxx为该二次同余方程的解。应用:\quad对于一个...原创 2019-12-07 22:51:23 · 3453 阅读 · 1 评论 -
HDU 4349 Xiao Ming's Hope (Lucas定理详解+推理过程)
Problem Description\quadXiao Ming likes counting numbers very much, especially he is fond of counting odd numbers. Maybe he thinks it is the best way to show he is alone without a girl friend. The da...原创 2019-12-06 22:07:34 · 292 阅读 · 0 评论 -
抽屉原理
描述:\quad桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果。这一现象就是我们所说的“抽屉原理”。 抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1n+1n+1个元素放到n个集合中去,其中必定有一个集合里至少有两个元素。” 抽屉原理有时也被称为鸽巢原理。它是组合数学中一个重要的原理。第一抽屉原...原创 2019-12-05 21:52:06 · 857 阅读 · 0 评论 -
康托展及其逆展开
描述:\quad康托展开是一个全排列到一个自然数的双射,常用于构建hashhashhash表时的空间压缩。设有nnn个数(1,2,3,4,…,n)(1,2,3,4,…,n)(1,2,3,4,…,n),可以有组成不同(n!n!n!种)的排列组合,康托展开表示的就是是当前排列组合在nnn个不同元素的全排列中的名次。原理:X=an∗(n−1)!+an−1∗(n−2)!+...+ai∗(i−1)!+...原创 2019-12-05 15:22:52 · 154 阅读 · 0 评论 -
Lucas定理证明
\quad当n、mn、mn、m为大数,ppp为素数时,Lucas定理是用来求 CnmmodpC_n^m mod pCnmmodp的值。适用领域范围:在数论中求大组合数取模。通式:Cnm=Cn/pm/p∗Cn%pm%p(mod(p))C_n^m=C_{n/p}^{m/p}∗C_{n\%p}^{m\%p}(mod(p))Cnm=Cn/pm/p∗Cn%pm%p(mod(p))ppp为素数...原创 2019-12-04 22:39:46 · 456 阅读 · 0 评论 -
杨辉三角形
\quad\quad\quad\quadCnm=n!m!(n−m)!C_n^m=\frac{n!}{m!(n-m)!}Cnm=m!(n−m)!n!组合数和杨辉三角有着密切的关系。杨辉三角上的每一个数字都等于它的左上方和右上方的和(除了边界)第nnn行,第mmm个就是,就是CnmC_n^mCnm (从000开始)所以以后求杨辉三角或者组合数都可以用到下面的递推公式:Code:...原创 2019-12-04 21:06:43 · 1433 阅读 · 1 评论 -
组合数
定义\quad从 nnn 个不同元素中取出 mmm 个组成一个集合(不考虑顺序),产生的不同集合数量就是组合数,记作 CnmC_n^mCnm 。性质:1通式: Cnm=n!m!(n−m)!C_n^m=\frac{n!}{m!(n-m)!}Cnm=m!(n−m)!n!\quad我们从 nnn 个元素中取 mmm 个,那么第 111 个有 nnn 种选法,第 222 个有 (n−1)(n...原创 2019-12-04 18:24:47 · 386 阅读 · 0 评论