Ftt2333's Nest
卡特兰数表示有多少个序列由 个 和 个 构成,且前缀和非负。
卡特兰数的第 项等于 。
Raney 引理
如果 是任何一个和为 的整数数列,则其所有循环位移中恰好有一个满足所有的前缀和都是正数。
证明:
考虑前缀和 。假设 是一个合法的开头。
那么对于 ,以 开头, 结尾的区间和是 。
对于 , 开头, 结尾的区间和是 。
由于 是一个合法的开头,所以 ,。
不难发现,满足条件的 等价于 是前缀和里最靠后的最小值。
当然,如果此时 ,那么合法的开头就是 。
不难发现,卡特兰数等价于: 个 和 个 构成的,且前缀和严格大于 的序列个数。
具体来说,就是在原来条件的基础上,在序列开头加上一个 。
那么根据 Raney 引理,我们就只要求由 个 和 个 构成的序列中有多少种循环同构等价类。
很明显就是 。
直接考虑将 , 看作折线,且折线不能碰到 这条直线。
不难发现,将一条路径从第一次触碰到 以后沿着 翻转,可以把一种不合法的方案一一对应到:从 走到 的方案数。
所以合法的方案数就是 。
先考虑只有一种棋子,那么每次就只移动一枚棋子。
那么我们把棋子之间的空位看成石子,那么题目就可以转化为:
那么这就是阶梯 NIM 的模板题了,可以参考 P3480 [POI2009]KAM-Pebbles。
这里来粗略的讲一下阶梯 NIM 的做法。
为了方便起见,我们把顺序换一下,改成从第 堆移动到第 堆,移到第一堆结束。
正常的 NIM 是直接把石子扔掉,然而在阶梯 NIM 中,我们可以把奇数堆看成垃圾桶。
所以阶梯 NIM 就相当于只有偶数堆的普通 NIM,那么他的 SG 值就是偶数堆个数异或起来。
形式:
对于质数 ,和非负整数 ,,有:
令:,表示 在 进制下的形式。
令:,表示 在 进制下的形式。
那么有:
引理
对于多项式 ,有 。
证明:
根据数学归纳法,只要证明: 即可。
通过二项式定理,有:
只要再证明 ,都满足 即可。
显然:
又因为 是质数且 ,所以分子包含质因子 ,而分母不包含,因此 。
先定义多项式 ,那么 就是 项的系数。
那么显然 的系数就是 ,因为对于这 项中,每一项都只能选择 。
对于任意质数 和 ,其中 ,满足:
根据裴蜀定理,可以知道 与 是一一对应的,因此:
最近在 zhihu 看到很多人试图和葛立恒数比大小,我就也想了想。
我想到了一个比较大的数,但是感觉肯定比葛立恒数小,但感觉挺有意思的,就分享一下。
不知道有没有人会证明。
先定义:
然后定义:
这道题直接 的题解很多都是错的并且没有给出证明。
首先这道题等价于求 。
可以直接用高精度的矩阵快速幂,但是这里不讲。
不难发现在计算过程中矩阵一定是 的形式。
所以现在问题转化为了计算型为 的矩阵快速幂。
考虑讲矩阵对角化,也就是找到一个矩阵 满足 是一个对角矩阵,也就是说:
给定 ,, 三个数,你需要和交互器博弈。
有一个长度为 的区间,你和交互器轮流操作。
每次操作,操作的一方选择一个没有被染黑并且长度在 和 之间的区间,把它染黑。
无法操作的一方寄了,另一方获胜。
每次你操作要输出两个数 和 ,表示你选择了区间 。
每次交互器操作会给你两个数 和 ,表示交互器选择了 ,若 则表示你获胜,如果 则表示你寄了。
只能说这题太妙了,场上 tourist 都没过。
首先考虑 的 DP, 表示从 到 的最短路径,转移很简单。
现在要考虑把这个 DP 优化到可以接受的时间复杂度内,考虑有以下性质。
对于 ,如果直接从 跳到 ,那么一定不会比经过区间最小值 跳两次更优。