abc266G 题解
能评到空心黄是不是只是因为位置原因啊。
真心只有 *1800 左右罢。
题意:对满足以下要求的序列计数:
- 由
R,G,B组成,其中恰 \(R\) 个R,\(G\) 个G,\(B\) 个B。 - 连续的
RG作为子串恰出现 \(K\) 次” 。 - 膜 \(998244353\) 输出。
这里的连续 RG 好突兀啊,能不能直接枚举?
但是恰好怎么做,反演还是容斥?
先想想钦定 \(k\) 个 RG 怎么做罢:把 RG 和 B 分别看成分隔符,然后试着往里插剩余 R,G。
令 \(n=R-K,m=G-K,k=C+K\),则我们要统计 \(n\) 个 R \(m\) 个 G 分成 \(k+1\) 段的方案数。无重复自然最好,有重复再想方法。
不能形成连续 RG,一个被分隔符分隔的区间必须是前面一段 R 连后面一段 G 的形式。
那么,只要知道一个区间内 R 和 G 的个数,就能唯一确定区间的排列方式。
对 R 和 G 分别计算,这不就是一个小组合问题。
这时看回要求,开头的 R 显然不会参与与分隔符凑成 RG,等等结尾的 G 好像也不会?
每个符合要求的序列忽略分隔符排列后都能唯一对应到 R 和 G 分配到不同区间的个数,而后者一定合法,那么前后一一对应,直接计不就完了!
分隔符有 \(\binom{k}{C}\) 种排法,R 有 \(\binom{n+k}{k}\) 种排法,G 有 \(\binom{m+k}{k}\) 种排法,乘一起就是答案。
代码不给了,很好写。注意组合数预处理要处理两倍数据范围。
事实上,前面那句“先想想钦定 \(k\) 个 RG 怎么做”的缘由是我开始往二项式反演想了一段。
本文来自博客园,作者:purplevine,转载请注明原文链接:https://www.cnblogs.com/purplevine/p/16829853.html

浙公网安备 33010602011771号