补完了几天前写的东西

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. python3 之 匿名函数

    一.语法: lambda 参数:方法(或三元运算) #最多支持3元运算 二.实例1:基础 #函数1: a = lambda x:x*x print(a(2)) #函数2: def myfun(x): ...

  2. Learning Markov Clustering Networks for Scene Text Detection

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

  3. 【论文阅读】Between-class Learning for Image Classification

    文章:Between-class Learning for Image Classification 链接:https://arxiv.org/pdf/1711.10284.pdf CVPR2018 ...

  4. 利用scrapy爬取腾讯的招聘信息

    利用scrapy框架抓取腾讯的招聘信息,爬取地址为:https://hr.tencent.com/position.php 抓取字段包括:招聘岗位,人数,工作地点,发布时间,及具体的工作要求和工作任务 ...

  5. Android Saripaar 注解详解

    写这篇文章的原因 在移动端一般很少使用复杂的表单,一般针对于属性的更改都会打开一个新的页面进行更改.虽然不多,但是也会有.如果一个页面要输入的内容包括姓名.地址.邮箱.手机号等,对各个属性的验证会非常 ...

  6. 使用python2连接操作db2

    在python2.6下连接db2,步骤: 1.安装python2.6. (注:目前db2的驱动还不支持2.7) 2.安装setuptools,下载地址http://pypi.python.org/py ...

  7. 一个http请求的详细过程

    一个http请求的详细过程 我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切. 首先http是一个应用层的协议, ...

  8. WebGL简易教程(十四):阴影

    目录 1. 概述 2. 示例 2.1. 着色器部分 2.1.1. 帧缓存着色器 2.1.2. 颜色缓存着色器 2.2. 绘制部分 2.2.1. 整体结构 2.2.2. 具体改动 3. 结果 4. 参考 ...

  9. 检测是否引入jQuery

    if (typeof jQuery != 'undefined') { document.write("jquery已经被加载"); } else { document.write ...

  10. keychain 的学习

    keychain 的使用    http://www.cnblogs.com/ios8/archive/2012/06/25/iOS-keychain.html