To Be Vegetable

求满足下述条件的 n 阶排列 a 的数目:对每个 i,要么 aiiajj+d 对所有 j>i 成立,要么 aiaj 对所有 j<i 成立,这两个条件至少成立一个。

通过打表得知 d=1 时,答案是 2nd=0 时,答案是 Fib2n1d=1 时,答案是 3n12 。或许你可以对更多的 d 解决这个问题!


对于一个 n 阶排列 a 的某个元素 ai,定义:

  • i=n,或对所有 j>i,有 aiiajj+d,则称 ai 具有性质 F
  • i=1,或对所有 j<i,有 aiaj,则称 ai 具有性质 G

求满足下述条件的 n 阶排列 a 的数目:所有元素至少具有性质 F 和性质 G 中的一个。


称满足条件的排列为好排列。我们将证明好排列的数目是 f2n1

其中 f 定义为 f0=0,f1=1,fn+2=fn+1+fn(nN) 是斐波那契数列。

用归纳法,n=1,2 时显然成立。设 n3

首先当 a1=1 时,设 n1 阶排列 b=(a21,a31,an1),容易发现 a 是好排列等价于 b 是好排列。而 ab 构成一一对应,所以 a1=1 时好排列 a 的数目为 f2n3

a1>1 时,假设 ak=1,我们断言 ak+i1=i1i<a1 成立。(

用反证法。若 1j<a1 使得 ak+j1j,设 j 是最小的这样的数。记 ap=j

  • 1<p<k,则 app=jp>1k=akkap 不具有性质 Fap=j<a1ap 不具有性质 G。矛盾。
  • k+jpn,则 akk=1k>jp=appak 不具有性质 Fak=1<a1ak 不具有性质 G。矛盾。

构造排列 b:将排列 a 中所有属于区间 [2,a1] 的值删掉,然后对 bi1,用 bia1+1 代替 bi。例如,a=(4,5,1,2,3,7,6) 时,b=(2,1,4,3)。注意由性质(),在 a1 固定的情况下,ab 是一一对应。不难证明 a 是好排列等价于 b 是好排列,而 b 的长度为 na1,从而固定 a1>1 时好排列 a 的数目为 f2n2a1+1

因此 n 时的好排列数目等于 f2n3+i=1n1f2i1=f2n3+i=1n1(f2if2i2)=f2n3+f2n2=f2n1

综上,所求答案为 f2n1=15((1+52)2n1(152)2n1)


posted @   by_chance  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示