----组合数
欣君
追寻那如樱花般的绚烂
展开
-
2020牛客多校#3 J - Operating on the Tree 树形DP+组合数学
题目链接:https://ac.nowcoder.com/acm/contest/5668/J这题来是2014北京区域赛的原题。介绍的做法与官方题解不同,思想来自HDU大佬的题解。设dp_numi,jdp\_num_{i,j}dp_numi,j表示以节点iii为根的子树内,根节点iii被第jjj位选取且对答案产生贡献的总方案数设dp_deli,jdp\_del_{i,j}dp_deli,j表示以节点iii为根的子树内,根节点iii被第jjj位选取后,对其子节点的贡献影响(由于节点iii被选取了,原创 2020-07-23 19:28:10 · 232 阅读 · 0 评论 -
51nod 1453 抽彩球
对于每种颜色,为了符合题意可以先将最后的球单独考虑。对于第1种颜色,除去最后的球,有 c[1]-1 个球。在为空的序列上随机放置,有 C(c[i]-1,c[i]-1)=1 种放法,然后将被单独考虑的球放在末尾。对于第2种颜色, 除去最后的球,有 c[2]-1 个球。在已有c[1]个球的序列上随机放置,有 C(c[1]+c[2]-1,c[2]-1) 种方法,然后将被单独考虑的球放在末尾。原创 2016-11-06 15:22:48 · 247 阅读 · 0 评论 -
51nod 1677 treecnt
可以计算出每条边出现的次数,其总和就是答案。对于任意一条边,若其左端有x个节点,右端有y个节点。那么这条边的出现次数为C(n,k)-C(x,k)-C(y,k)计算组合数时,预处理阶乘和逆元。#includeusing namespace std;const long long mod=1e9+7;const int MAXN=100100;long long fac[原创 2016-11-29 20:39:46 · 368 阅读 · 0 评论 -
51nod 1627 瞬间移动
ans=sum( C(n-2,i) * C(m-2,i) )然后求下逆元就好了。#includeusing namespace std;const long long mod=1e9+7;const int MAXN=100100;long long fac[MAXN],inv[MAXN];long long powmod(long long x,long long p){原创 2016-12-07 21:38:35 · 428 阅读 · 0 评论 -
51nod 1189 阶乘分数
(x-n!)*(y-n!)=(n!)^2分解 n! 的质因数即可。分解时,需要优化下。#includeusing namespace std;const int MAXN=1000100;const long long mod=1e9+7;int npri[MAXN],prime[MAXN],sum[MAXN];long long powmod(long long x,lon原创 2016-12-08 19:22:00 · 262 阅读 · 0 评论 -
51nod 1556 计算
默慈金数的应用在一个“网格”上,若限定“每步只能向右移动一格(可以向右上、右下横向向右),并禁止移动到y=0以下的地方”,则以这种走法用n步从(0,0)移动至(n,0)的可能形成的路径的总数为n的默慈金数。初始状态:M[0]=1M[1]=1M[2]=2递推公式:M[n+1]=((2n+3)*M[n]+3n*M[n-1])/(n+3)直接计算比较困难,可以计算原创 2017-02-08 15:51:01 · 294 阅读 · 0 评论 -
51nod 1161 Partial Sums
找规律可以得到,经过k次变换后,a[j]在i上的累加是a[j]*C(i-j+k-1,k-1)。由于k-1不变,因此可以用递推公式C(n+1,m)=C(n,m)*(n+1)/(n-m+1)计算组合数。#includeusing namespace std;const long long mod=1e9+7;const int MAXN=5050;long long a[MA原创 2017-02-12 11:22:28 · 305 阅读 · 0 评论 -
51nod 1799 二分答案
写个类似的递归过程,以k为目标数。计算阶乘的时候,打表水过。。。//#include#include#include#include#includeusing namespace std;const long long mod=1e9+7;long long a[110]={1,682498929,491101308,76479948,723816384,67347853原创 2017-07-04 17:11:04 · 282 阅读 · 0 评论 -
51nod 1806 wangyurzee的树
purfer sequence的应用#includeusing namespace std;const long long mod=1e9+7;const int MAXN=1000100;long long fac[MAXN],inv[MAXN];long long powmod(long long x,long long p){ long long ret=1; whi原创 2017-07-14 13:33:43 · 96 阅读 · 0 评论