首页 > 其他分享 >乐堕的魔法

乐堕的魔法

时间:2024-02-18 18:47:03浏览次数:12  
标签:frac sum 魔法 2i 区间 2n binom

T3

相当于有 \(n\) 个区间 \([a_{2i-1},a_{2i}]\),然后令 \(x=a_0\),依次 \(\forall i\in [1,n]\) ,如果 \(x<a_{2i-1},x=a_{2i-1}\),如果 \(x>a_{2i},x=a_{2i}\) 。

考虑对于一个固定的 \(x\) 求答案。

注意到若区间 \([l,r]\) 满足 \(l<x<r\) ,我们删掉这个区间不影响答案,这些区间称为五小区间,那么删掉之后剩下了若干 \(r<x\) 的区间和若干 \(l>x\) 的区间。

假设 \(x\) 是某个区间的右端点,左端点类似。
考虑 \(x\) 在排列中的位置 \(i\),那么要求 \((i,n]\) 这些区间都是无效区间 ,并且 \(i\) 左面第一个非无效区间的 \(l>x\) 或者第一个非无效区间的位置是 \(a_0\) 。

那么就可以计数,首先特判掉 \(a_0=x\) 的情况,此时 \(x=n\),贡献 \(n!!\) 。
然后枚举极长的的无效区间后缀长度 \(i\),然后把 \(x\) 所在区间插进去,
若 \(x\) 是右端点,贡献为:

\[\binom{x}{i}\binom{2n-x}{i}i!i!\binom{2n-x-i}{2}(x-i)(i+1)f_{2n-2i-3} \]

其中 \(f_n\) 为把 \(n\) 个数排成 \(a_{2i-1}<a_{2i}\) 的方案数,显然有递推 \(f_{n}=\binom{n}{2}f_{n-2}\),展开后 \(f_n=\frac{n!}{2^{n/2}}\)

推一波式子:

\[\sum_i \binom{x}{i}\binom{2n-x}{i}i!i!\binom{2n-x-i}{2}(x-i)(i+1)f_{2n-2i-3} \]

\[\sum_i \frac{x!(2n-x)!}{(x-i)!(2n-x-i)!}\binom{2n-x-i}{2}(x-i)(i+1)f_{2n-2i-3} \]

\[x!(2n-x)!\sum_i \frac{(2n-x-i)(2n-x-i-1)}{(x-i)!(2n-x-i)!2^{n-i-1}}(x-i)(i+1)(2n-2i-3)! \]

若 \(x\) 为区间左端点,贡献是类似的,为:

\[x!(2n-x)!\sum_i \frac{(x-i)(x-i-1)}{(x-i)!(2n-x-i)!2^{n-i-1}}(2n-x-i)(i+1)(2n-2i-3)! \]

加起来得到:

\[x!(2n-x)!\sum_i \frac{(x-i)(2n-x-i)(2n-2i-2)!}{(x-i)!(2n-x-i)!2^{n-i-1}}(i+1) \]

\[x!(2n-x)!\sum_i \frac{(2n-2i-2)!}{(x-i-1)!(2n-x-i-1)!2^{n-i-1}}(i+1) \]

\[x!(2n-x)!\sum_{i>0} \frac{(2n-2i)!}{(x-i)!(2n-x-i)!2^{n-i}}i \]

\[\frac{1}{2^n}x!(2n-x)!\sum_{i>0} \binom{2n-2i}{x-i}2^{i}i \]

还有一种情况是所有区间都是无效区间,此时也满足 \(x=n\),贡献也是好算的,我们只需要处理上面的求和式。

\[f_{x,p,q}=\sum_{i=1}^{n-1}i^p2^i\binom{2n-2i-q}{x-i} \]

其中 \(p,q\in \{0,1\}\) 。

我们考虑从 \(f_x\) 推到 \(f_{x+1}\) ,我们可以得到如下式子:

\[\sum_{i=1}^{n-1}i^p2^i\binom{2n-2i}{x-i}=\sum_{i=1}^{n-1}i^p2^i\binom{2n-2i-1}{x-1-i}+\sum_{i=1}^{n-1}i^p2^i\binom{2n-2i-1}{x-i} \]

即 \(f_{x,p,0}=f_{x-1,p,1}+f_{x,p,1}\) 。

\[\sum_{i=1}^{n-1}i2^i\binom{2n-2i-1}{x-i}=\frac{1}{2}\sum_{i=2}^{n}(i-1)2^i\binom{2n-2i+1}{x-i+1} \]

\[\sum_{i=1}^{n-1}i2^i\binom{2n-2i-1}{x-i}=\frac{1}{2}\sum_{i=2}^{n}(i-1)2^i\binom{2n-2i}{x-i}+\frac{1}{2}\sum_{i=2}^{n}(i-1)2^i\binom{2n-2i}{x-i+1} \]

\[2\sum_{i=1}^{n-1}i2^i\binom{2n-2i-1}{x-1-i}=\sum_{i=2}^{n}(i-1)2^i\binom{2n-2i}{x-1-i}+\sum_{i=2}^{n}(i-1)2^i\binom{2n-2i}{x-i} \]

\[2f_{x-1,1,1}=f_{x-1,1,0}-f_{x-1,0,0}+f_{x,1,0}-f_{x,0,0} \]

此外还有:

\[\sum_{i=1}^{n-1}2^i\binom{2n-2i-1}{x-i}=\frac{1}{2}\sum_{i=2}^{n}2^i\binom{2n-2i+1}{x-i+1} \]

\[2\sum_{i=1}^{n-1}2^i\binom{2n-2i-1}{x-i}=\sum_{i=2}^{n}2^i\binom{2n-2i}{x-i}+\sum_{i=2}^{n}2^i\binom{2n-2i}{x-i+1} \]

\[2\sum_{i=1}^{n-1}2^i\binom{2n-2i-1}{x-1-i}=\sum_{i=2}^{n}2^i\binom{2n-2i}{x-1-i}+\sum_{i=2}^{n}2^i\binom{2n-2i}{x-i} \]

\[2f_{x-1,0,1}=f_{x-1,0,0}-2\binom{2n-2}{x-2}+f_{x,0,0}-2\binom{2n-2}{x-1} \]

有了四个式子,我们就可以 \(O(n)\) 递推了。

标签:frac,sum,魔法,2i,区间,2n,binom
From: https://www.cnblogs.com/jesoyizexry/p/18019792

相关文章

  • 探索C语言的内存魔法:动态内存管理解析
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 递归魔法
    反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢?本文就来由浅入深,stepbystep地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归反转整个单链表开始拓展,只要你明白单链表......
  • WPF界面魔法:探秘Template奇妙世界,个性化定制你的UI
     概述:WPF中的Template机制为界面定制提供了强大工具,包括控件模板、ItemsPresenter、ItemsPanel、和ItemContainerStyle。通过这些功能,开发者能精确定义控件外观和布局,个性化每个项的样式,实现灵活而美观的用户界面。WPF中各种Template功能用途:Template(控件模板):用途: 控件......
  • WPF魔法:轻松实现依赖注入与控制反转提升代码优雅性与可维护性
     概述:在WPF中实现依赖注入和控制反转,通过定义接口、实现类,配置容器,实现组件解耦、提高可维护性。什么是依赖注入和控制反转?依赖注入(DependencyInjection,DI): 是一种设计模式,旨在减少组件之间的耦合度。通过依赖注入,对象不再自行创建或查找依赖对象,而是通过外部注入的方式提......
  • Docker 与 Linux Cgroups:资源隔离的魔法之旅
    这篇文章主要介绍了Docker如何利用Linux的ControlGroups(cgroups)实现容器的资源隔离和管理。最后通过简单Demo演示了如何使用Go和cgroups交互。<!--more-->如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原......
  • 【友谊就是魔法!!】CF453E
    Friendshipismagic!!前置简单题:[ABC255Ex]RangeHarvestQuery。考虑维护\(t\)相同的颜色段。然后注意到一个颜色段被取出后必然被推平,所以一个段只会被遍历一次。一次只会增加一个颜色段,可以\(O(q\logn)\)来维护。然后我们考虑对于没有推平过和推平过的分类:没有推......
  • 魔法少女LJJ 题解
    魔法少女LJJ题解这题纯属就是迷惑题。。为什么这么说?注意数据范围:对100%的数据\(0\leqm\leq400000\),\(c\leq7\)。\(c\leq7\)!!这意味着根本没有删除操作。就连样例也是错的。Solution这题的各种操作,用并查集+线段树合并完成。如果你是被题目数据范围晃飞的,建议......
  • 计算机编程中的黑魔法编程是什么?如何求解一个浮点数的平方根倒数?计算机中的浮点数是如
    原视频:没有显卡的年代,这群程序员用4行代码优化游戏最原始的求解目标:(求一个浮点数的开方的导数)浮点数在计算机中的表示形式:对数的运算法则:A为a在计算机中的表示形式(二进制表示形式):求浮点数的平方根倒数的应用场景:这个情况,直白的说就......
  • Java魔法值有哪些
    Java魔法值有哪些引言在Java编程中,我们经常会遇到一些被称为魔法值(MagicValue)的常量。这些常量通常以数字的形式出现在代码中,但其含义不太明确,使得代码可读性变差。本文将介绍Java魔法值的概念、常见的魔法值以及如何避免使用魔法值。什么是魔法值?魔法值指的是在代码中直接使......
  • Luogu P4924 [1007] 魔法少女小Scarlet
    [1007]魔法少女小Scarlet\(\color{cyan}link\)题目描述Scarlet最近学会了一个数组魔法,她会在\(n\timesn\)二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转\(90^\circ\)。首先,Scarlet会把\(1\)到\(n^2\)的正整数按照从左往右,从上至下的顺序填入初始的二维数组......