补完了几天前写的东西

WC集训DAY2笔记 组合计数 part.1

今天开 幕 雷 击:PKUWC没过

UPD:THUWC也没过,听说群友380过了,也是高一,我378...,WC集训完可以愉快地vanyousee了(呜呜呜

UPD2:由于我在弱校,是高中rk1(黄神MLE了...),苟进了NOIWC

写笔记,就是记结论的意思

基础知识

组合恒等式

  1. \[
    2^n = (1+1)^n=\sum_{i=0}^n C(n,i)*1*1=\sum_{i=0}^n C(n,i)
    \]

  2. \[
    \sum_{i=m}^{n}\left(\begin{array}{c}{i} \\ {m}\end{array}\right)=\left(\begin{array}{c}{n+1} \\ {m+1}\end{array}\right)
    \]

  3. \[
    \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)
    \]

    考虑左边选两次,右边直接选

  4. \[
    \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的更多相关文章

  1. 2019暑期金华集训 Day1 组合计数

    自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le ...

  2. 2019暑期金华集训 Day2 线性代数

    自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对 ...

  3. bzoj 2281 [Sdoi2011]黑白棋(博弈+组合计数)

    黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色 ...

  4. 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是第二类斯特林 ...

  5. 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是第二类斯特林 ...

  6. Loj 2320.「清华集训 2017」生成树计数

    Loj 2320.「清华集训 2017」生成树计数 题目描述 在一个 \(s\) 个点的图中,存在 \(s-n\) 条边,使图中形成了 \(n\) 个连通块,第 \(i\) 个连通块中有 \(a_i\ ...

  7. 【BZOJ5491】[HNOI2019]多边形(模拟,组合计数)

    [HNOI2019]多边形(模拟,组合计数) 题面 洛谷 题解 突然特别想骂人,本来我考场现切了的,结果WA了几个点,刚刚拿代码一看有个地方忘记取模了. 首先发现终止态一定是所有点都向\(n\)连边( ...

  8. [总结]数论和组合计数类数学相关(定理&证明&板子)

    0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ...

  9. 【BZOJ5323】[JXOI2018]游戏(组合计数,线性筛)

    [BZOJ5323][JXOI2018]游戏(组合计数,线性筛) 题面 BZOJ 洛谷 题解 显然要考虑的位置只有那些在\([l,r]\)中不存在任意一个约数的数. 假设这样的数有\(x\)个,那么剩 ...

随机推荐

  1. Learning Markov Clustering Networks for Scene Text Detection

    Learning Markov Clustering Networks for Scene Text Detection 论文下载:https://arxiv.org/pdf/1805.08365v1 ...

  2. Dart Learn Notes 02

    Functions Dart是一门面向对象的语言,所以即便是方法也是一个对象,它的类型是Function. 这就意味着方法可以指向变量,也可以作为方法中的参数供其他方法使用.甚至可以让 一个类作为一个 ...

  3. scikit-learn_cookbook1: 高性能机器学习-NumPy

    源码下载 在本章主要内容: NumPy基础知识 加载iris数据集 查看iris数据集 用pandas查看iris数据集 用NumPy和matplotlib绘图 最小机器学习配方 - SVM分类 介绍 ...

  4. Spring事务笔记

    1:在同一个类中,如果A方法有事务,B方法也有事务(propagation = Propagation.REQUIRES_NEW),如下代码所示: @Override@Transactionalpub ...

  5. F#周报2019年第48期

    新闻 拥抱可空引用类型 介绍Orleans 3.0 视频及幻灯片 组合的力量 关于.NET:探索新的用于.NET的Azure .NET SDK .NET设计审查:GitHub快速审查 FableCon ...

  6. 【日常错误】Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl

    最近在用spring-boot编写一个Lucene项目,中间用到了redis,引用了spring-boot-starter-data-redis,在eclipse中用外部Tomcat启动项目一切正常, ...

  7. Python 网络爬虫程序详解

    #!/usr/bin/python #调用python from sys import argv #导入sys是导入python解释器和他环境相关的参数 from os import makedirs ...

  8. 英语口语考试资料College life

    College life Early in senior high school, we longed to be enrolled in a university. Now the dream ha ...

  9. DJango中事务的使用

    Django 中事务的使用 Django默认的事务行为 默认情况下,在Django中事务是自动提交的.当我们运行Django内置的模板修改函数时,例如调用model.save()或model.dele ...

  10. 修改python3导致终端打不开

    误操作将/usr/bin/python3文件修改,或者删除,导致终端打不开, 解决办法其实很简单,ctrl+alt+f3进入命令窗口,将python2.7的文件拷贝到python中就可以解决了 sud ...