WC集训DAY2笔记 组合计数 part.1
补完了几天前写的东西
WC集训DAY2笔记 组合计数 part.1
今天开 幕 雷 击:PKUWC没过
UPD:THUWC也没过,听说群友380过了,也是高一,我378...,WC集训完可以愉快地vanyousee了(呜呜呜
UPD2:由于我在弱校,是高中rk1(黄神MLE了...),苟进了NOIWC
写笔记,就是记结论的意思
基础知识
组合恒等式
\[
2^n = (1+1)^n=\sum_{i=0}^n C(n,i)*1*1=\sum_{i=0}^n C(n,i)
\]\[
\sum_{i=m}^{n}\left(\begin{array}{c}{i} \\ {m}\end{array}\right)=\left(\begin{array}{c}{n+1} \\ {m+1}\end{array}\right)
\]\[
\left(\begin{array}{c}{n} \\ {m}\end{array}\right)\left(\begin{array}{c}{m} \\ {k}\end{array}\right)=\left(\begin{array}{c}{n} \\ {k}\end{array}\right)\left(\begin{array}{c}{n-k} \\ {m-k}\end{array}\right)
\]考虑左边选两次,右边直接选
\[
\sum_{i=0}^{k}\left(\begin{array}{c}{n} \\ {i}\end{array}\right)\left(\begin{array}{c}{m} \\ {k-i}\end{array}\right)=\left(\begin{array}{c}{n+m} \\ {k}\end{array}\right)
\]考虑n个放左边,m个放右边
错排数
递推:
\(D_n=(n-1)(D_{n-1}+D_{n-2})\)
通项:加一个\(i!\),推出来是\(D_n=n!\sum_{i=0}^n(-1)^i\frac{1}{i!}\)
或者直接容斥/二项式反演
简化式:n!除以e+0.5向下取整
考虑\(\frac{1}{e}\)的泰勒展开
卡特兰数
括号序列方案数
递推式:\(C_n=\sum_{i=0}^{n-1}C_iC_{n-i-1}\)
通项式\(C_n=(2n,n)-(2n,n+1)=\frac{1}{n+1}(2n,n)\)
斯特林数
要求集合/圆排列非空
第一类斯特林数
n个人m个圆排列方案数
考虑组合意义,单独开一个圆排列则有S1(n-1,m-1),放进去则有n-1个位置可以放,(n-1)S1(n-1,m)
\[
\left[\begin{array}{l}{n} \\ {m}\end{array}\right]=\left[\begin{array}{l}{n-1} \\ {m-1}\end{array}\right]+(n-1)\left[\begin{array}{c}{n-1} \\ {m}\end{array}\right]
\]
第二类斯特林数
m个集合方案数
递推式
\[
\left\{\begin{array}{l}{n} \\ {m}\end{array}\right\}=\left\{\begin{array}{l}{n-1} \\ {m-1}\end{array}\right\}+m\left\{\begin{array}{c}{n-1} \\ {m}\end{array}\right\}
\]
O(nm)求一个矩阵
通项式
容斥,考虑至少k个集合是空的
\(\left\{\begin{array}{l}{n} \\ {m}\end{array}\right\}=\sum_{k=0}^{m}(-1)^{k}\left(\begin{array}{l}{m} \\ {k}\end{array}\right)(m-k)^{n}\)
求单独一个的复杂度O(n)
可以NTT,mlogm求一行
求自然数幂之和
\[
S_k(n)=\sum_{i=0}^n i^k
\]
考虑SK(n)是关于n的k+1次多项式(归纳证明)
那么用拉格朗日插值可以\(O(k)\)
后面讲的用斯特林数求啊,伯努利数求啊都不会。。。
于是愉快地掉线了(\(\times 1\))
与上升幂/下降幂关系
\[
n^{m}=\sum_{k=0}^{m}\left\{\begin{array}{l}{m} \\ {k}\end{array}\right\} C_{n}^{k} k !=\sum_{k=0}^{m}\left\{\begin{array}{l}{m} \\ {k}\end{array}\right\} n^{\underline{k}}
\]
\[
x^{\bar{n}}=\sum_{k}\left[\begin{array}{l}{n} \\ {k}\end{array}\right] x^{k}
\]
前一个就是组合意义,后一个要数学归纳证,所以可以分治NTTnlog^2求S1
斯特林反演
要证两个引理。。。
证明听懂了一半,然后看 这位 大佬博客看懂了
总之结论就是
\[
\begin{array}{l}{\sum_{k=m}^{n}(-1)^{n-k}\left[\begin{array}{l}{n} \\ {k}\end{array}\right]\left\{\begin{array}{l}{k} \\ {m}\end{array}\right\}=[m=n]} \\ {\sum_{k=m}^{n}(-1)^{n-k}\left\{\begin{array}{l}{n} \\ {k}\end{array}\right\}\left[\begin{array}{l}{k} \\ {m}\end{array}\right]=[m=n]}\end{array}
\]
\[
f(n)=\sum_{k=0}^{n}\left\{\begin{array}{l}{n} \\ {k}\end{array}\right\} g(k) \Longleftrightarrow g(n)=\sum_{k=0}^{n}(-1)^{n-k}\left[\begin{array}{l}{n} \\ {k}\end{array}\right] f(k)
\]
伯努利数
掉线了。。。(\(\times 2\))
inf年后补吧
贝尔数
分成若干个非空无序集合的方案数
\(B_n=\sum_{k=0}^nS2(n,k)\)
\(B_{n+1}=\sum_{k=0}^n(n,k)B_k\)
好像还挺显然的?
调和级数
\(H_n=\sum_{i=1}^n \frac{1}{i}=ln_n+欧拉常数+\frac{1}{2n}\)
(那两个符号不会打。。。)
用于复杂度分析
后记
part2是高数(各种啥啥啥中值定理,洛必达)和生成函数和多项式神奇操作,自闭中。。。。
part3是置换群和高斯消元的骚操作
WC集训DAY2笔记 组合计数 part.1的更多相关文章
- 2019暑期金华集训 Day1 组合计数
自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le ...
- 2019暑期金华集训 Day2 线性代数
自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对 ...
- bzoj 2281 [Sdoi2011]黑白棋(博弈+组合计数)
黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色 ...
- BZOJ 4555: [Tjoi2016&Heoi2016]求和 [分治FFT 组合计数 | 多项式求逆]
4555: [Tjoi2016&Heoi2016]求和 题意:求\[ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林 ...
- BZOJ 4555: [Tjoi2016&Heoi2016]求和 [FFT 组合计数 容斥原理]
4555: [Tjoi2016&Heoi2016]求和 题意:求\[ \sum_{i=0}^n \sum_{j=0}^i S(i,j)\cdot 2^j\cdot j! \\ S是第二类斯特林 ...
- Loj 2320.「清华集训 2017」生成树计数
Loj 2320.「清华集训 2017」生成树计数 题目描述 在一个 \(s\) 个点的图中,存在 \(s-n\) 条边,使图中形成了 \(n\) 个连通块,第 \(i\) 个连通块中有 \(a_i\ ...
- 【BZOJ5491】[HNOI2019]多边形(模拟,组合计数)
[HNOI2019]多边形(模拟,组合计数) 题面 洛谷 题解 突然特别想骂人,本来我考场现切了的,结果WA了几个点,刚刚拿代码一看有个地方忘记取模了. 首先发现终止态一定是所有点都向\(n\)连边( ...
- [总结]数论和组合计数类数学相关(定理&证明&板子)
0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ...
- 【BZOJ5323】[JXOI2018]游戏(组合计数,线性筛)
[BZOJ5323][JXOI2018]游戏(组合计数,线性筛) 题面 BZOJ 洛谷 题解 显然要考虑的位置只有那些在\([l,r]\)中不存在任意一个约数的数. 假设这样的数有\(x\)个,那么剩 ...
随机推荐
- Linux考题(一)
1.创建目录/data/oldboy,并且在该目录下创建oldboy.txt,然后在文件oldybos.txt里写入内容“inet addr:192.168.228.128 Bcast:192.16 ...
- HTML、CSS基础知识
前端基础 1. CSS 8 1.1. CSS叫做层叠样式表,用来设置页面中元素的样式.背景颜色.字体颜色.字体大小... 8 1.2. CSS负责结构.表现.行为中的表现 8 1.3. 编写的位置 8 ...
- <<代码大全>>阅读笔记之一 使用变量的一般事项
一.使用变量的一般事项 1.把变量引用局部化 变量应用局部化就是把变量的引用点尽可能集中在一起,这样做的目的是增加代码的可读性 衡量不同引用点靠近程度的一种方法是计算该变量的跨度(span) 示例 a ...
- 盒模型 | CSS权重 | CSS层叠
span{ color:red;} *{ font-family:"楷体";line-height:2em; font-size:18px;} 盒模型 CSS定义所有的元素都可能拥 ...
- 【Android - 控件】之V - Toolbar的使用
Toolbar是Android V7包中的一个控件,用来代替Action Bar作为界面的头部标题栏布局.Toolbar相对于Action Bar的特点是更加灵活,可以显示在任何位置. 首先先来看To ...
- 少用float浮动?
在css中,float 属性定义元素在哪个方向浮动.也是我在css样式中常用到的属性,后来浏览了一些公司项目代码,发现float属性极少有人使用.随后做了一些调查和研究: 1.在ie6以下,float ...
- 纯CSS背景噪声.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Flink入门(三)——环境与部署
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行,包括本地调试环境,集群 ...
- 宜信SDL实践:产品经理如何驱动产品安全建设
一.序言 本文从产品经理的角度出发,对产品经理的安全职责.产品驱动安全的内涵.工作内容.工作方法.所需安全资源.以及产品经理的安全工作量进行了分析.希望所有产品经理在没有心理负担的情况下,有目标.有方 ...
- 前端跨域 nginx 反向代理
1.下载ngnix稳定版 (http://nginx.org/en/download.html) 2.解压到你中意的目录. 3.将你的网页文件放到刚解压html文件目录下 4.打开conf &g ...