EGF 学习笔记
【EGF】
对于一个数列
定理:若
【EGF 有什么用?】
比如我们要算一个数列的第
而 EGF 的第
【应用:组合计数对象的拼接】
树+圈 计数
-
有标号
个点恰好组成一棵树的方案数 。(Cayley 公式) -
有标号
个点恰好组成一个圈(禁止重边自环)的方案数
组合问题:
发现
有标号固定连通块数量无向图计数
那么
考虑有两个连通块的数量:
更进一步,
所以
其实不一定是连通图有这个规律!
比如
所以形成一个满足条件 P 的图的 EGF,和形成若干个满足条件 P 的图的 EGF,只差一个
这是巧合吗?我们看下一个例子。
排列数与圆排列
排列数
圆排列
(因为
我们发现
为什么呢?如果把排列看作一个置换,则 "排列" 就是若干个 "圆排列" 组成的。而我们也验证了一个重要的性质:
如果一个东西
,这是一个复合函数。
错排问题
考虑一个问题 Q:让
则
所以错排的 EGF 就是
连通图计数
因为无向图(有若干个连通块)的方案数
BZOJ4228
题意:求
个点的无向图数量,满足不存在三个相互可达的点 ,使得 不全相同。
首先发现不可能有长度为
由此推出图的结构为若干个链 + 若干个长度非
考虑
然后考虑
然后考虑
原问题是若干个链或者非
基环树计数
枚举基环树的环上有
个数
(为什么是
目标就是求
设
如何求
观察到
所以
所以
所以
【多重集排列计数型】
有限多重集
有
为什么呢?还是可以用组合对象的拼接来理解。
方案数
其中
这是二项式卷积的形式!所以
POJ3734 Blocks
题意:用红黄蓝绿染
个格子,要求红黄要偶数个,求方案数。
记答案为
注:
和 OGF 的经典例题 "食物" 很像吧?区别在于:"食物" 不用排列选出的食物,但是这题要排列格子。
POJ1322 Chocolate
题意:有
种巧克力(数量无限)。买 块,问恰好有 种买了奇数个的概率。(保证 同奇偶)
因为总方案数很简单(一个隔板法),所以只要求方案数即可。
转化:前
化简的步骤看上面的参考。
乘积期望
已知, 为一个等概率随机的数组,满足 。求 。
法一:
期望 = 总和 / 总方案数。
总方案数就是分配
问题转化为求
在看到
考虑多项式
继续剖析
所以
前半部分可以广义二项式定理,后半部分可以 FFT 分治。
法二:
令
转化为求
根据
所以转化为求
为什么呢?
如果
注意到
令
则:
可以用广义二项式定理展开,得证。
于是转化为对每一个固定的
不属于其实和属于是等价的:即求
而观察到
Balls in Box
已知。 初始为 ,随机 次,每次让某个 。求 。
注意这题与上一题的区别:上一题最终的
即求
这里多了一个组合数,因为从
还是把期望变成 合法方案数 / 总方案数,总方案数显然是
多了个组合数,怎么做?
发现又是
则
求
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!