杂题分享

发布时间 2023-08-29 15:16:55作者: Fire_Weed_yue

计数

P6672 [清华集训2016] 你的生命已如风中残烛

题意

给你一个长度为 \(m\) 的序列 \(W\) ,其中 \(n\) 个 \(w_i\geq 1\) ,\(\Sigma w_i[w_i\geq 1] =m\) ,拿到一个 \(w_i\) 可以往后拿 \(w_i\) 个数,求在 \(m!\) 中有多少种排列可以拿到第 \(m+1\) 的数。

简化

我们将每个数减一,原问题便转化为给定序列 \(W\) ,其中 \(n\) 个数非负,其余 \(m-n\) 个数均为 \(-1\) ,\(\Sigma w_i=0\) 要求有多少序列满足该序列所有前缀和均非负。

思路

有一个东西,叫作 Raney 引理。

Raney 引理是这么说的:

若存在一个序列 \(A\) ,其中 \(\sum a_i = 1\) ,则其循环移位有且只有一个满足所有的前缀和均为正数。

关于证明:《具体数学》7.5章(机房这本是P301-P302)有关于此的几何方法证明,读者自证不难因此在此口胡一下。

考虑一个序列 \(a_1,a_2,a_3,...,a_m\) ,设 \(sum_i\) 表示前 \(i\) 位的前缀和。由于要求所有 \(sum_i>0\) ,则对于一个合法的

考虑在 \(m+1\) 的位置放一个 \(-1\) ,则原问题又变成求前 \(m\) 的前缀和为非负的排列数,\(\sum _{i=1}^{m+1} w_i=0\) 。

AGC024E Sequence Growing Hard

求有多少个序列组 \(A_0,A_1,⋯ ,A_n\) 满足:

  • \(A_i\) 的长度为 \(i\),且其中元素均为属于 \([1,K]\) 的整数。
  • \(A_{i−1}\) 为 \(A_i\) 的子序列。
  • \(A_i\) 的字典序大于 \(A_{i-1}\).

思考一下,不难发现

ARC125F Tree Degree Subset Sum

给定一棵 \(N\) 个点的树,第 \(i\) 条边连接了 \(A_i\) 和 \(B_i\) 两个节点。求出满足以下条件的数对 \((x,y)\) 的个数:

  • \(0≤x≤N\) ;
  • 存在一种从树上选出恰好 \(x\) 个节点的方案,使得节点的度数和为 \(y\)。

首先,树的具体形态并不重要,这个,emm,比较显然。

特别鸣谢:

  • Diwanul 听我口胡 Raney 定理且帮助我思考,

  • 某前数学组学长yzl听我口胡 P6672 ,

  • gyq 借我 cy 的《具体数学》,

  • ZJK 的课件(虽然有点难懂),

  • 以及特别感谢各位在我分享过程中没有一怒之下D死我这个菜鸡stOOOOOOOO。