Raney 引理学习笔记

Raney 引理

Raney 引理 : 对于 x1,x2,,xm ,如果 i=1mxi=1 ,则其所有循环位移中恰好有一个满足所有的前缀和都是正数。

证明

Sk=i=1kxi

由于 Sn=1,则 Sk+Sn=Sk+1,存在这样一个数 x ,当在 xx+1 之间的某点过后,其后所有的点都在0以上。

Application

这个引理也可以证明卡塔兰数列的通项公式 : (2nn)n+1

如果把 ( 看做是 +1 , 把 ) 看作是 -1 ,设括号序列为 x1,x2,,x2n , 则 i=12n=0

那么可以在前面在加上一个 ( ,使总和和为 1 ,且将前缀和的限制 由 0 改为 >0 使其符合 Raney 引理的应用条件。

因此,总共的方案数为 (2n+1n) , 由 Raney 引理,答案为 (2n+1n)2n+1=(2nn)n+1

例题

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

在此题中,将前 m 项单独抽出,将 特殊牌 看做是 wi1 , 普通牌看做 -1 ,那么要求每一段前缀和 0 , 由题目这个序列和为 0

我们再加一个 -1 ,并将全部项取反,将数列倒置,那么就符合 Raney 引理的应用条件。

并且因为 只有一个循环移位版本合法 , 因此合法的版本一定是 1 (即原来的 -1) 在最前面

最后,只需要再把答案除以 mn+1 , 因为有这么多个 -1 , 都可能放在队首

答案为 (m+1)!m+1mn+1=m!mn+1

posted @   Werner_Yin  阅读(1219)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示