![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
组合数学
文章平均质量分 65
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2142 礼物 组合数学+数论
题目大意:给定n个物品,分给m个人,每个人拿到wi个礼物,问方案数mod P P不一定为质数首先我们把剩下的礼物也分给一个人 答案明显不变 w[++m]=n-w1-w2-...-wm然后就会很方便地得到公式:ans=C(n,w1)*C(n-w1,w2)*C(n-w1-w2,w3)*...*C(n-w1-w2-...-w_(m-1),wm) mod P =n!/w1!/w原创 2014-10-08 11:17:31 · 2688 阅读 · 1 评论 -
BZOJ 3782 上学路线 动态规划+Lucas定理
题目大意:给定一张N∗MN*M的网格图,有TT个坏点,求左上角走到右下角的方案数对PP取模后的值首先把坏点和终点以xx坐标为第一键值,yy坐标为第二键值排序 令fif_i表示从原点不经过任何坏点走到第ii个点的个数,那么有DP方程: fi=Cxixi+yi−∑xj<=xi,yj<=yiC(xi−xj)(xi−xj)+(yi−yj)∗fjf_i=C_{x_i+y_i}^{x_i}-\sum_{x_原创 2015-05-28 13:51:14 · 2531 阅读 · 0 评论 -
BZOJ 4013 HNOI2015 实验比较 树形DP+组合数学
题目大意:给定一张图,每条边有’=’和’<’两个属性,每个点入度最多为1,求这张图可以压成多少个用’=’和’<’连接的序列 我只贴代码~~ 题解自己搜~~#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M 110#define MOD 1000000007using n原创 2015-04-29 20:58:04 · 2091 阅读 · 0 评论 -
BZOJ 3193 JLOI2013 地形生成 组合数学
题目大意:给定一些山,每座山有一个高度和一个关键值,现在要将这些山排成一个序列,要求每座山之前高度高于它的山的数量不能超过它的关键值,求合法的标号序列数和高度序列数= =首先我们考虑第一问我们发现高度较小的山对高度较大的山是没有影响的那么我们可以将山按照高度从大到小排序 每座山插入时都有一些备选位置将备选位置数相乘即是答案现在考虑第二问嘲讽:谁能告诉我O(n^3原创 2015-02-18 14:49:36 · 1754 阅读 · 0 评论 -
BZOJ 2729 HNOI2012 排队 组合数学
题目大意:给定n个男生m个女生两个老师,求有多少种排列满足任意两个女生不相邻,任意两个老师也不相邻def A(n): re=1 for i in range(1,n+1): re*=i return redef C(n,m): if n<m: return 0 return A(n)//A(m)//A(n-m)n,m=[int(i) for i in raw_in原创 2015-01-21 10:02:36 · 2854 阅读 · 0 评论 -
BZOJ 2822 AHOI2012 树屋阶梯 卡特兰数
题目大意:求n个矩形搭出n级阶梯的方案数那个什么空心不能向上完全是逗你的- -卡特兰数的应用之一- - Wiki上有说- - 具体证明不会- -总之Python大法好- -n=int(raw_input())temp=1for i in range (1,n+1): temp=temp*(4*i-2)/(i+1)print temp原创 2014-12-31 12:57:31 · 1744 阅读 · 0 评论 -
BZOJ 3028 食物 组合数学
题目大意:简单易懂自己看- -去学了下母函数相关的东西- - 其实不难理解嘛- - 的说- -#include #include #include #include #define M 510#define MOD 10007using namespace std;int n;char s[M];int main(){ int i; scanf("%s",s原创 2015-01-17 16:04:38 · 3883 阅读 · 2 评论 -
BZOJ 3771 Triple 母函数+FFT
题目大意:给定n个物品,可以用一个/两个/三个不同的物品凑出不同的价值,求每种价值有多少种拼凑方案(顺序不同算一种)首先搞出这n个物品的母函数a将a的每项的平方求和得到多项式b将a的每项的立方求和得到多项式c那么如果不考虑顺序和重复 那么方案数就是a+b+c现在考虑顺序和重复后三个物品的方案数为(a^3-3*a*b+2*c)/6两个物品的方案数为(a^2-b)/2一原创 2015-02-04 10:31:39 · 2208 阅读 · 0 评论 -
BZOJ 1856 SCOI2010 字符串 组合数学
题目大意:给定n个1和m个0,能组成多少种序列,满足对于任意前缀1的个数>=0的个数题解:http://www.cnblogs.com/jianglangcaijin/p/3443689.html时隔多年我终于明白了卡特兰数怎么求QAQ我真是太蒟蒻了QAQ#include #include #include #include #define MOD 20100403usi原创 2015-02-01 21:05:03 · 2096 阅读 · 0 评论 -
BZOJ 2339 HNOI2011 卡农 组合数学
题目大意:求由1~n构成的m个集合有多少种 其中1~n中每个数都出现了偶数次围观题解: http://blog.csdn.net/orpinex/article/details/7405538吾等蒟蒻到底也只会看题解了- -#include #include #include #include #define M 1001001#define MOD 100000007us原创 2015-01-28 19:17:39 · 1476 阅读 · 0 评论 -
BZOJ 2111 ZJOI2010 Perm 排列计数 组合数学+Lucas定理
题目大意:求1~n的排列能组成多少种小根堆考虑一个1~i的排列所构成的堆,l为左儿子大小,r为右儿子的大小那么1一定是堆顶 左儿子和右儿子分别是一个堆 显然如果选出l个数给左儿子 那么左儿子的方案数显然是f[l],右儿子的方案数为f[r]于是有f[i]=C(i-1,l)*f[l]*f[r]于是我们线性筛处理出阶乘和阶乘的逆元 代入即可得到WA原因是这题n可以大于p 此时要用到L原创 2014-11-21 14:36:46 · 2499 阅读 · 0 评论 -
BZOJ 2467 中山市选2010 生成树 组合数学
题目大意:给定一个图,图的中心是一个n个点的多边形,每条边都外接一个五边形,求生成树个数Matrix Tree定理?不会!观察这个图5n条边 4n个点每个五边形都是一个环 必须拆掉一条边拆掉之后发现4n个点 4n条边 是一个基环树基环树的环上的边由中心多边形被拆掉的边所在的五边形的剩余边与中心多边形未被拆掉的边构成容易发现这个环上任意拆掉一条边都会导致某个五边形被拆原创 2014-11-21 14:02:02 · 3021 阅读 · 0 评论 -
BZOJ 1005 明明的烦恼 Prufer序列+组合数学+高精度
题目大意:给定一棵n个节点的树的节点的度数,其中一些度数无限制,求可以生成多少种树Prufer序列把一棵树进行以下操作:1.找到编号最小的叶节点,删除这个节点,然后与这个叶节点相连的点计入序列2.反复进行1,直到这棵树只剩下两个节点时,退出比如说这个图(来自度受百科)最小叶节点为2,删除2,将3计入序列最小叶节点为4,删除4,将5计入序列最小叶节点为5,删除原创 2014-10-17 10:35:24 · 3319 阅读 · 0 评论 -
BZOJ 3505 CQOI2014 数三角形 组合数学
题目大意:给定一个m*n的方格,求上面有多少个格点三角形m,n枚举O(m^3*n^3),铁定超时我们选择补集法首先我们任意选择三个不重复的点构成三角形 用组合数算出这一值 然后刨除三点一线的点即可枚举三点之中在两边的点的横纵坐标之差,中间点的位置数为GCD(x,y)-1,统计答案即可注意初始计算组合数时可能会爆int#include#include#includ原创 2014-10-04 14:53:00 · 1874 阅读 · 0 评论 -
BZOJ 2982 combination Lucas定理
题目大意:发上来就过不了审核了……总之大意就是求C(n,m) mod 10007 m,n∈[1,2*10^8]卢卡斯定理:C(n,m)=C(n%p,m%p)*C(n/p,m/p) mod p 要求p是质数其中n%p可能会小于m%p 这种情况下直接返回0即可证明去问卢卡斯 我不知道#include#include#include#include#define p 10007原创 2014-10-27 14:46:40 · 2004 阅读 · 0 评论 -
HDU 2065 "红色病毒"问题 指数生成函数
题目大意:求长度为nn的DNA单链,满足CC和TT出现偶数次,AA和GG任意,这样的DNA单链有多少种去学了下指数生成函数…… 设函数A(x)=∑+infi=0Aixii!A(x)=\sum_{i=0}^{+\inf}A_i\frac{x^i}{i!} 那么两种元素的组合就是A(x)∗B(x)A(x)*B(x) 理由很简单,我们发现 Aixii!∗Bjxjj!=Ai∗Bj∗(i+j)!i!∗原创 2015-05-29 09:49:11 · 1620 阅读 · 0 评论