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\)个,那么剩 ...
随机推荐
- Learning Markov Clustering Networks for Scene Text Detection
Learning Markov Clustering Networks for Scene Text Detection 论文下载:https://arxiv.org/pdf/1805.08365v1 ...
- Dart Learn Notes 02
Functions Dart是一门面向对象的语言,所以即便是方法也是一个对象,它的类型是Function. 这就意味着方法可以指向变量,也可以作为方法中的参数供其他方法使用.甚至可以让 一个类作为一个 ...
- scikit-learn_cookbook1: 高性能机器学习-NumPy
源码下载 在本章主要内容: NumPy基础知识 加载iris数据集 查看iris数据集 用pandas查看iris数据集 用NumPy和matplotlib绘图 最小机器学习配方 - SVM分类 介绍 ...
- Spring事务笔记
1:在同一个类中,如果A方法有事务,B方法也有事务(propagation = Propagation.REQUIRES_NEW),如下代码所示: @Override@Transactionalpub ...
- F#周报2019年第48期
新闻 拥抱可空引用类型 介绍Orleans 3.0 视频及幻灯片 组合的力量 关于.NET:探索新的用于.NET的Azure .NET SDK .NET设计审查:GitHub快速审查 FableCon ...
- 【日常错误】Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl
最近在用spring-boot编写一个Lucene项目,中间用到了redis,引用了spring-boot-starter-data-redis,在eclipse中用外部Tomcat启动项目一切正常, ...
- Python 网络爬虫程序详解
#!/usr/bin/python #调用python from sys import argv #导入sys是导入python解释器和他环境相关的参数 from os import makedirs ...
- 英语口语考试资料College life
College life Early in senior high school, we longed to be enrolled in a university. Now the dream ha ...
- DJango中事务的使用
Django 中事务的使用 Django默认的事务行为 默认情况下,在Django中事务是自动提交的.当我们运行Django内置的模板修改函数时,例如调用model.save()或model.dele ...
- 修改python3导致终端打不开
误操作将/usr/bin/python3文件修改,或者删除,导致终端打不开, 解决办法其实很简单,ctrl+alt+f3进入命令窗口,将python2.7的文件拷贝到python中就可以解决了 sud ...