组合数学
文章平均质量分 81
组合数学
xzx9
没事写BUG。
展开
-
ARC116 C - Multiple Sequences【组合数学/DP】
Link题目给出一个 nnn 和 mmm,求出满足下列要求的序列的个数:1≤Ai≤M(i=1,2,⋯ ,N)1\leq A_i \leq M(i=1,2,\cdots,N)1≤Ai≤M(i=1,2,⋯,N)Ai+1A_{i+1}Ai+1 是 AiA_iAi 的倍数(i=1,2,⋯ ,N−1)(i=1,2,\cdots,N-1)(i=1,2,⋯,N−1)结果取模 998244353998244353998244353,1≤N,M≤2×1051\leq N,M \leq 2\times 10原创 2021-04-23 16:17:18 · 315 阅读 · 0 评论 -
ARC117 C - Tricolor Pyramid
题意给出一个长为 nnn 的数组,每个元素为 W,B 或 R,表示每个块的颜色。通过这个块,可以输出一个三角形。生成规则:如果相邻两个块的颜色相同,则得到一个同色的块;如果两个块的颜色不同,则得到没有出现过的颜色。如下图所示:求最上面的块的颜色。数据范围:2≤N≤4×1052\leq N \leq 4 \times10^52≤N≤4×105分析主要在如何分析转化颜色之间的转换关系,可以令三种颜色分别为:0,1,2,通过加法生成新的块的颜色。具体见下图:其中,did_idi 表示该方块颜色代原创 2021-04-19 18:09:16 · 200 阅读 · 0 评论 -
牛客练习赛80 C-不降数
题意数据范围:1≤n≤1081\leq n\leq 10^81≤n≤108分析可以先写出前面几项,按照末尾数字枚举:987654321n=1111111111n=2987654321n=3453628211510831在枚举的过程中,可以发现明显的递推关系:a(i,j)=∑k=1ja(i−1,k)a_{(i,j)}=\sum_{k=1}^{j}{a_{(i-1,k)}}a(i,j)=原创 2021-04-10 21:11:32 · 142 阅读 · 0 评论 -
Buy the Ticket HDU - 1133【组合数-二维递推+大数】
思路1:详解当m<n时,明显不可能,输出0即可。当m>=n时,对于一个不满足要求的m个50,n个100的序列,其对应着一个m+1个100,n-1个50的必然不成立的序列。那么全部的可能序列的个数为:C [n+m] [m],而不符合要求的序列的个数为C[n+m][m+1],所有答案为C[n+m][m]-C[n+m][ m+1]。又因为 每个人都不同,所以要乘以m!*n!。化...原创 2019-12-29 16:11:54 · 196 阅读 · 1 评论 -
斯特林数
第一类斯特林数:1.有正负2.其绝对值是包含n个元素的集合分作k个环排列的方法数目。递推公式:S(n,0)=0;S(1,1)=1;S(n+1,k)=S(n,k-1)+n*S(n,k);证明:原创 2019-11-15 11:06:28 · 185 阅读 · 0 评论 -
母函数
普通型母函数:(1) hdu1028[模板]:#include <bits/stdc++.h>using namespace std;int a[130],b[130];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); ...原创 2019-11-08 16:19:09 · 160 阅读 · 0 评论 -
卡特兰数
公式:h[n]=C(2n,n)/(n+1)(n=0,1,2,…)h[n]=C(2n,n)-C(2n,n-1)(n=0,1,2,…)棋盘的不超越对角线问题:小兔的棋盘 HDU - 2067:数据35以内,利用公式:**h[n]=h[0]*h[n-1]+h[1] *h[n-2]+h[2] h[n-3]+…+h[n-1] h[0] (n>=2)推导#include<bits/...原创 2019-10-26 12:02:12 · 89 阅读 · 0 评论 -
Paths on a Grid POJ - 1942(组合数学基础)
只能走上和右,且必有n个右,m个上,共n+m步。把路径写写出就可以发现如:样例1:上上上上右右右右右…只要从n+m个里面选出min(n,m)为上或右即可。利用求组合数的递推公式。#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typede...原创 2019-10-09 15:41:16 · 113 阅读 · 0 评论 -
Round Numbers POJ - 3252组合数+分类
主要分3种情况:1.长度比n的2进制表示的长度要小,形如:1xxxxx的格式(首位=1)2.n能不能满足3.长度=n的2进制表示,但从某一位开始比n小知识点:利用杨辉三角预处理组合数思想:分类考虑前缀和#include <cstdio>#include <cstring>#include <algorithm>#include <i...原创 2019-10-05 21:56:18 · 95 阅读 · 0 评论 -
二项式系数奇偶性判定准则
给出n,k,求C(n,k)的奇偶性:如果k&(n-k)==1,那么为偶数;否则为奇数。Binomial Coefficients POJ - 3219#include <cstdio>using namespace std;int main(){ int n,k; while(scanf("%d%d",&n,&k)!=EOF) ...原创 2019-10-04 19:19:33 · 815 阅读 · 0 评论