首页 > 其他分享 >省选08. 组合计数

省选08. 组合计数

时间:2022-12-24 09:24:25浏览次数:64  
标签:frac 答案 省选 text 08 计数 Bmatrix mathcal sum

P4091 [HEOI2016/TJOI2016]求和

有一个重要的通项公式

\[\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^{m}\frac{i^n(-1)^{m-i}}{i!(m-i)!} \]

\[ans =\sum_{i=0}^{n}\sum_{j=0}^{n}{\begin{Bmatrix}i\\j\end{Bmatrix}}2^{j}(j!) \]

\[=\sum_{j=0}^{n}2^{j}(j!)\sum_{i=0}^{n}{\begin{Bmatrix}i\\j\end{Bmatrix}} \]

\[=\sum_{j=0}^{n}2^{j}(j!)\sum_{i=0}^{n}\sum_{k=0}^{j}\frac{(-1)^{j-k}k^i}{k!(j-k)!} \]

\[=\sum_{j=0}^{n}2^{j}(j!)\sum_{k=0}^{j}\frac{(-1)^{j-k}\sum_{i=0}^{n}k^{i}}{k!(j-k)!} \]

令 \(f(x)=\frac{(-1)^x}{x!}\),\(g(x)=\frac{\sum_{i=0}^{n}x^i}{x!}=\frac{1-x^{n+1}}{x!(1-x)}\)。

于是答案为

\[\sum_{i=0}^{n}2^{i}(i!)(f\times g)(i) \]

CF960G Bandit Blues

设 \(f(i,j)\) 表示 \(i\) 个数中有 \(j\) 个数作为前缀最大值的方案数。

\[f(i,j)=f(i-1,j)+f(i-1,j-1)\times (i-1) \]

这是第一类斯特林数。

枚举最大值的位置,答案为

\[\sum_{i=1}^{n}f(i,a-1)\times f(n-i-1,b-1)\times\binom{n-1}{i} \]

于是求一下第一类斯特林数——列即可。

求两个第一类斯特林数——列会被卡常,于是优化一下式子

\[ans=f(n-1,a+b-2)\binom{a+b-2}{a-1} \]

P4389 付公主的背包

考虑将每一种物品写成生成函数的封闭形式

\[ans=\prod_{i=1}^n\frac{1}{1-x^{V_i}} \]

直接相乘不好做,考虑求 ln,再 exp。

\[\ln(\frac{1}{1-x^{V_i}})=\sum_{j=1}^{\infty}\frac{x^{V_ij}}{j} \]

于是记录一下每种 \(V\) 出现的次数即可 \(O(n\log n)\) 解决。

P5824 十二重计数法

\(\text{I}\)

\[m^n \]

\(\text{II}\)

\[m^{\underline{n}} \]

\(\text{III}\)

指数型生成函数。

\[F(x)=\sum_{i=1}^{n}\frac{1}{i!} \]

答案为 \([x^n](F(x))^mn!\)。

\(\text{IV}\)

\[\sum_{i=0}^{m}{n\brace i} \]

\(\text{V}\)

\[[n\leq m] \]

\(\text{VI}\)

\[{n\brace m} \]

\(\text{VII}\)

普通生成函数。

\[F(x)=\sum_{i=0}^{n}x^i \]

答案为 \([x^n](F(x))^m\)。

\(\text{VIII}\)

普通生成函数。

\[F(x)=1+x \]

答案为 \([x^n](F(x))^m\)。

\(\text{IX}\)

普通生成函数。

\[F(x)=\sum_{i=1}^{n}x^i \]

答案为 \([x^n](F(x))^m\)。

\(\text{X}\)

设 \(f(i,j)\) 表示前 \(i\) 个盒子放 \(j\) 个球的方案数。

\[f(i,j)=f(i-1,j)+f(i,j-i) \]

理解:如果有空盒子,去掉这个空盒子;如果无空盒子,从所有盒子中拿出一个球。

于是构造生成函数

\[F_i(x)=\sum_{k=0}^{\infty}x^{ki} \]

答案为

\[[x^n](\prod_{i=1}^{m}F_i(x)) \]

\(\text{XI}\)

\[[n\leq m] \]

\(\text{XII}\)

\(n\) 减去 \(m\) 后同 \(\text{X}\)。

CF438E The Child and Binary Tree

设 \(g(i)\) 表示是否含有权值为 \(i\) 的点,\(f(i)\) 表示权值和为 \(i\) 的树的数量。

\(f(0)=1\),\(g(0)=0\)。

\[f(n)=\sum_{i=0}^{n}g(i)\sum_{j=0}^{n-i}f(j)f(n-i-j) \]

乘上 \(x^n\) 得

\[f(n)x^n=\sum_{i=0}^{n}g(i)x^i\sum_{j=0}^{n-i}f(j)x^jf(n-i-j)x^{n-i-j} \]

于是

\[F(x)=G(x)F^2(x)+1 \]

因此

\[F(x)=\frac{1-\sqrt{1-4G(x)}}{2G(x)} \]

\([x^0]G(x)=0\),无法求逆,分子分母同时乘 \(1+\sqrt{1-4G(x)}\) 得

\[\frac{2}{1+\sqrt{1-4G(x)}} \]

P4233 射命丸文的笔记

答案为总的哈密顿回路数除以含有哈密顿回路的竞赛图的数量。

分子

答案为

\[(n-1)!2^{\frac{n(n-1)}{2}-n} \]

分母

有这样一个性质,将竞赛图缩点后回形成一个链状的 DAG。

设 \(\mathcal{A}\) 为有标号强连通竞赛图(缩点后只有一个点)的组合类,组合对象 \(\mathcal{A_n}\) 表示有 \(n\) 个点。

设 \(\mathcal{B}\) 为有标号竞赛的组合类,组合对象 \(\mathcal{B_n}\) 表示有 \(n\) 个点。

\[\mathcal{B}=SEQ(\mathcal{A})\rightarrow \widehat{B}(x)=\frac{1}{1-\widehat{A}(x)} \]

反解出

\[\widehat{A}(x)=1-\frac{1}{\widehat{B}(x)} \]

P4727 [HNOI2009]图的同构计数

https://zhuanlan.zhihu.com/p/347566986

烷基计数 加强版 加强版

设 \(A(x)\) 为烷基数目的生成函数,使用 burnside 来计数。

本题中不动点的含义为交换子树后树的形态不变。

  • \(1,2,3\):\(A(x)^3\)。
  • \(2,1,3\) 或 \(3,2,1\) 或 \(1,3,2\):\(3A(x)A(x^2)\)。
  • \(2,3,1\) 或 \(3,1,2\):\(2A(x^3)\)。

于是

\[A(x)=\frac{A(x)^{3}+3A(x)A(x^2)+2A(x^3)}{6}x+1 \]

使用牛顿迭代,将 \(A(x)\) 看成自变量即可。

标签:frac,答案,省选,text,08,计数,Bmatrix,mathcal,sum
From: https://www.cnblogs.com/yanchengzhi/p/17002014.html

相关文章

  • 省选09. 图论
    P2469[SDOI2010]星际竞速可以发现,一个点要么是起点,要么从其它点进入,且每个点最多只会进入一次,出去一次。因此,可以用流量限制每个点被访问一次,用费用计算代价,问题就转化......
  • 省选10. 动态规划
    P3736[HAOI2016]字符合并考虑区间dp+状压dp。设\(dp(l,r,s)\)表示\([l,r]\)合并成\(s\)的最大分数。如果\(r-l+1=len\),那么合并后的长度一定是\(len\bmod{......
  • 省选05. 线性代数
    P6772[NOI2020]美食家先假设没有美食节,容易得到一个矩阵优化的dp。加上美食节过后分成\(k\)段考虑,每段分别矩阵快速幂,时间复杂度为\(O((5n)^3k\logT)\)。这并不......
  • 省选06. 分治
    CF1442DSum设\(dp(i,j)\)表示前\(i\)个数组选\(j\)个元素的最大值。\[dp(i,j)=\max_{k=0}^jdp(i-1,k)+sum(i,k)\]因为数组内的元素单调不降,因此有一个结论,只有一......
  • 省选03. 树上问题
    P2664树上游戏首先,将贡献拆成每种颜色对每个点的贡献。考虑已经选择了一种颜色,将这些颜色的点和所对应边全部删去,就得到了很多连通块。假设其中一个连通块的大小为\(s......
  • 省选04. 数论
    P4571[JSOI2009]瓶子和燃料先对两个容量分别为\(a\),\(b\)的瓶子考虑。可以发现,无论是倒入还是倒出,体积都是\(a\)或\(b\)的整数倍。因此可以考虑求\(ax+by\)的......
  • POJ 1080 Human Gene Functions
    POJ1080HumanGeneFunctions题意:给出两组\(DNA\)序列求它们的最大相似度每个字母与其他字母或自身和空格对应都有一个打分,求在这两个字符串中插入空格,让这两个字......
  • ts08_使用webpack打包ts文件
    1.新建项目使用npminit-y在根目录生成packge.json文件,管理包2.使用npm安装webpack相关工具npmi-Dwebpackwebpack-clitypescriptts-loader,ts-loader起到一个整合......
  • 代码随想录算法训练营Day23|669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、
    代码随想录算法训练营Day23|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树669.修剪二叉搜索树与删除节点类似,但不需要讨论左/......
  • day08-功能实现07
    家居网购项目实现07以下皆为部分代码,详见https://github.com/liyuelian/furniture_mall.git16.功能15-会员显示登录名16.1需求分析/图解会员登录成功login_ok.......