随机乱做 part 3

让组合意义成为一种习惯!

1. ARC138E Decreasing Subsequence

题意:生成序列满足 \(0\leqslant a_i\leqslant i\) 且每个正数最多出现一次,求长度为 \(k\) 的正递减子序列的个数的和。

题解:构造图 \(i\to a_i-1\),若 \(a_i=0\) 则不连边,形成若干条链。我们计数 \(l_1<l_2<...<l_k<r_k<r_{k-1}<r_1\),且 \(r_i\to l_i\)

那么答案就是 $$\sum \dbinom{n+1}{i+j} {i\brace k}{j\brace k}B_{n+1-i-j}$$

意思就是分别枚举 \(l,r\) 的祖先的个数,连接的方案数不难看出是斯特林数,而与之无关的其他点的连接方案则是贝尔数。

2. ARC133F Random Transition

题意:有一根数轴,初始有 \(A_i\) 的概率在 \(i\) 点,随机游走 \(k\) 步,若在 \(x\) 则有 \(\frac{x}{N}\) 的概率往左走一步,\(1-\frac{x}{N}\) 的概率往右一步。求最终在每个点的概率。

题解:考虑转化题意为:假设我要从 \(a\) 走到 \(b\),就相当于有 \(n\) 枚硬币,一开始有 \(a\) 枚正面朝上,每次随机翻动一枚硬币,使得最终有 \(b\) 枚朝上。

由于我希望最终答案形成一个多项式,所以考虑使用二元生成函数,\(x\) 表示使用的步数,\(y\) 表示是否正面朝上。

\[F=\frac{e^x(y+1)+e^{-x}(y-1)}{2},G=\frac{e^x(y+1)-e^{-x}(y-1)}{2}\\ 设 P=e^x(y+1),Q=e^{-x}(y-1),则 Ans=\frac{1}{n^k}[x^k]\sum_i A_iF^iG^{n-i}=\frac{1}{n^k2^n}[x^k]\sum_i A_i(P+Q)^i(P-Q)^{n-i}\\ \]

考察 \(\sum w_i (x+1)^i(x-1)^{n-i}=(x-1)^n\sum w_i(1+(\frac{-2}{1-x}))^i\),从而我们可以通过复合 \(1+x\)\(\frac{-2}{1-x}\) 求出系数。

\[[x^k]\sum_i A_i(P+Q)^i(P-Q)^{n-i}=[x^k]\sum_i c_iP^iQ^{n-i}=\sum_i (2i-n)^kc_i (y+1)^i(y-1)^{n-i} \]

相同方法求出即可,时间复杂度 \(O(n\log n)\)。那么问题来了,此题难点在哪?

3. ARC133E Cyclic Medians

题意:给定 \(n,m,v,a\),对所有长度分别为 \(n,m\) 值域为 \(v\) 的序列 \(x,y\)\(\sum f(x,y)\),其中 \(f\) 表示初始值为 \(a\)\(i\)\(1\)\(n,m\) 每次与 \(x_{i\%n+1},y_{i\%m+1}\) 取中位数的结果。

正解:这道题让我深刻体会到什么叫坚持就有奇迹。独立做出铜牌题祭。

考虑一手 \(01\) 规划,容易发现只需关注第一次到 \(n,m\) 时,也即前 \([n,m]\) 步。我们希望存在一步1 1,后面都是 0 11 0。这样非常不好计算。

去除所有全都是 0 1 的,考虑到如果一组不行的则是有一步 0 0 然后都是 0 1,那么它 flip 一下就是合法的!于是我们把整体减去全 0 1 除二然后加上 0 1 合法情况即可。

4. ARC146E Simple Speed

不是很困难的一道题(至少我自己做出来了而且认为比较简单)。

考虑从小往大放,一些 \(i+1\) 只能放在相邻两个 \(i\) 中或者放在靠边且有一个相邻的 \(i\)。设 \(dp_{i,j,u,v}\) 表示填到了 \(i\),有 \(j\) 对相邻的 \(i\),左边是不是 \(i\),右边是不是 \(i\)。这样我们就有了一个 \(O(nV)\) 的做法。

套路地想到 \(j\) 这一维应该很少。考虑如果我一直不放两边,则每次的 \(j\) 都是确定的,而放一个放两边会导致 \(1\) 的变化,而如果上一个和这一个都放了某一边,则这一个不会产生变化。故 \(j\) 的取值不超过 \(5\) 个。

直接 \(dp\) 即可,复杂度 \(O(n)\)

5. ARC145F Modulo Sum of Increasing Sequences

6. ARC140F ABS Permutation (Count ver.)

7. ARC137F Overlaps

8. ARC136F Flip Cells

9. ARC134F Flipping Coins

题意:初始有 \(n\) 个正面朝上的硬币,对于排列 \(P\),我们对于每个 \(i\),若此时第 \(i\) 个为正面朝上则我们同时翻转 \(i\)\(P_i\),否则什么都不做。一个排列的权值是 \(w\) 的最后正面朝上的硬币个数次幂,求所有排列权值的和。

瞎扯:一句纯纯的 nt,sbrnm 送给我自己。

题解:首先拆为环,最后 exp 上去。把一个环按照顺序拉出来,通过一些人类智慧的观察,可以知道最后亮的个数为奇极长上升字段个数。考虑其生成函数 \(F\),容易解出容斥系数 \(G\),那么一个环的函数 \(S=\exp(\sum\limits_{i} \frac{G^i}{i})\),除 \(i\) 因为是环,由于 \(\ln(\frac{1}{1-x})=\sum\limits_{i} \frac{x^i}{i}\),故 \(S=\frac{1}{1-G}\)

10. AGC058F Authentic Tree DP

题意:定义一棵树 \(T\) 的函数值 \(F(T)\) 为:

  • 若为单点,则 \(F(T)=1\)

  • 否则为 \(F(T)=\frac 1n\sum\limits_{(x,y)\in V_T} F(T_x)F(T_y)\)

给定一棵树,求其函数值。

题解:此题式子与边强相关,不如把边建点,而式子中是除 \(n\) 而现在有 \(2n-1\) 个点,所以我们给每个边点配 \(P-1\) 个叶子。那么现在变为在新树上上,随机从一个点劈开,劈 \(n-1\) 恰好劈掉所有所有边点的概率。不妨给其赋予组合意义:给所有点钦定大小关系,劈开操作为最大值剖分。那么这样就等价于边点大于其邻居的概率(此处不懂可以细想一波)。考虑容斥,保证边点的儿子都小于自己,容斥一些边点也小于父亲,那么这样就形成了若干棵内向树,树形 \(dp\) 即可。

瞎扯:这种完全没有任何想到的道理的题,我钦定它为烂题!

posted @ 2022-09-02 14:34  syzf2222  阅读(79)  评论(1编辑  收藏  举报