七夕祭
当然是要看蓝书P34的纸质题解的,然后(环形)均分纸牌也是很经典的一个模型,一定要记住
我们来补充一些细节
环形均分纸牌可链化证明,或者看算法提高课视频10:00的推导,
首先是P35那个前缀和的那个式子,这个式子算的是每两人之间的交换,与直接模拟是相同的,所以是正确的
然后证明七夕祭交换的合法性:
设通过环形均分纸牌算出来的数组
对于这一特定的数组,不妨从
若
若
我们也就证明了无论怎么排列,我们一定可以通过不经过任何列交换的情况下,将行搞成一模一样的,对列同理,所以我们可以分成两个独立的部分计算
然后引理一:对均分纸牌来说,我按照那个模拟算出来每两人之间的交换数目之后,不一定真的按模拟去做,而是以任意顺序选择任意间隙和任意交换牌数,答案都不变。比如说算出来1给2三张牌,3给2一张牌,那我可以先让1给2一张牌,再让3给2一张牌,再让1个2两张牌,or whatever答案都是一样的,可以用反证法证明。环形均分纸牌也满足,因为环形均分纸牌可以拆环成链按照均分纸牌处理
我们用数学归纳法严格证明一下上述结论,假设我们先通过蓝书的式子算出多退少补的数目,比如如下
我们从
如果第
所以由这个引理,我们将任何一种分布的摊点抽象成纸牌模型后,只要抽象出来的牌数的分布是一模一样的,那么最优答案就是一样的,因为我总能找到一种合法的交换摊点位置的方法,所以我可以分成两维考虑(这么考虑也是下界,我们找到了一种方法来达到下界)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构