随笔分类 -  《组合数学》

摘要:模型一:进出序列。 求解:给定n个的数,有多少种出栈序列?(抽象成一个有n个1和n个-1组成的字串,且前k个数的和均不小于0,那这种字串的总数为多少?) 容斥可得 ans(合法) = ans(all) - ans(不合法)ans(all) = C(2n,n) //任选n个位置放1. 首选,我们将这个 阅读全文
posted @ 2021-07-21 08:42 levill 阅读(58) 评论(0) 推荐(0)
摘要:容斥原理:ans = 指数为一个质数 U 指数为两个质数 U 指数为3个指数。 如果为4个质数即2 * 3 * 5 * 7 > 60。那么这个数肯定超过了 n,所以最多只需要枚举到三个质数。 这里指数一定为不一样的质数,因为如果一样就变成了x * x = x ^ 2。 即y ^ (x * x) = 阅读全文
posted @ 2021-05-31 21:31 levill 阅读(46) 评论(0) 推荐(0)
摘要:离散数学都快还给老师了。。 对于一个置换群P,它的一阶等于他本身。 那么这里我们求P的二阶,应该是对P * P,P对P轮换。 $\begin{pmatrix}1 & 2 & 3\\ a1 & a2 & a3\end{pmatrix} * \begin{pmatrix}1 & 2 & 3\\ b1 & 阅读全文
posted @ 2021-05-27 21:24 levill 阅读(349) 评论(0) 推荐(0)
摘要:求置换群的阶数:https://www.cnblogs.com/zwjzwj/p/14819849.html 注意的是ans相乘后可能爆int。 // Author: levil #include<iostream> #include<stdio.h> #include<queue> #includ 阅读全文
posted @ 2021-05-27 21:21 levill 阅读(45) 评论(0) 推荐(0)
摘要:母函数注意对几个分类即可。 看起来比较麻烦就是限定次数K,但是我们对dp再加一维次数之后,其实这个问题也就得到了解决。 PS:没有多组读入判我WA,还以为代码哪里不对。。 // Author: levil #include<bits/stdc++.h> using namespace std; ty 阅读全文
posted @ 2021-05-27 19:25 levill 阅读(57) 评论(0) 推荐(0)
摘要:整数划分。 一开始以为和多校那道隔板法一样,但是其实不一样,因为那题,4 = 1 + 3 和 4 = 3 + 1是属于不同的方案,所以可以用隔板法。 这里是用了母函数:G[x] = (x ^ 0 + x ^ 1 + .. x ^ n) * (x ^ 0 + x ^ 2 + x ^ 4 + .. ) 阅读全文
posted @ 2021-05-26 21:08 levill 阅读(50) 评论(0) 推荐(0)
摘要:对于组合数的乘法和幂级数相乘幂次相加的结合。 其实本质上有点像多项式相乘。应该就是个卷积差不多。 我们构造一个G[x]称为母函数。然后可以解决组合问题。 准确来说:对于x种物品。构造(x ^ 0 + x ^ k)称为重量为k的物品取与不取. 那么对于k种物品的重量组合即为(x ^ 0,x ^ k1) 阅读全文
posted @ 2021-05-26 20:57 levill 阅读(174) 评论(0) 推荐(0)