约瑟夫环问题

文章探讨了在区间[1,n]中,通过从左向右和从右向左间隔删除元素后剩余编号的规律。定义f[n]和g[n]分别表示两种删除方式后的序列,发现它们之间存在f[n]=2*g[⌊n/2⌋]和f[n]+g[n]=n+1的递推关系。这种问题展示了数学中的对称性和序列操作的有趣性质。
摘要由CSDN通过智能技术生成

390.消除游戏

先作如下定义:
f[n]表示在区间[1,n]中从左向右间隔删除再从右向左间隔删除后所剩的编号
g[n]表示在区间[1,n]中从右向左间隔删除再从左向右间隔删除后所剩的编号

1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , ⋯ n 1,2,3,4,5,6,7,8,\cdots n 1,2,3,4,5,6,7,8,n为例,

第一次从左向右间隔删除后,所剩的编号的个数是 ⌊ n / 2 ⌋ \lfloor n / 2\rfloor n/2,所剩的编号f[n] 2 , 4 , 6 , 8 , ⋯ 2 × ⌊ n / 2 ⌋ 2,4,6,8,\cdots 2\times \lfloor n /2\rfloor 2,4,6,8,2×n/2。对所剩的编号除以2,得到 1 , 2 , 3 , 4 , ⋯   , ⌊ n / 2 ⌋ 1,2,3,4,\cdots,\lfloor n /2\rfloor 1,2,3,4,,n/2

再对 1 , 2 , 3 , 4 , ⋯   , ⌊ n / 2 ⌋ 1,2,3,4,\cdots,\lfloor n / 2\rfloor 1,2,3,4,,n/2从右向左删除,得到 g [ ⌊ n / 2 ⌋ ] g[ \lfloor n/2 \rfloor ] g[⌊n/2⌋]

g [ ⌊ n / 2 ⌋ ] g[ \lfloor n/2 \rfloor ] g[⌊n/2⌋]f[n]有如下关系: f [ n ] = 2 × g [ ⌊ n / 2 ⌋ ] f[n] = 2 \times g[ \lfloor n/2 \rfloor ] f[n]=2×g[⌊n/2⌋]

下面在考虑f[n]g[n]的关系:

从左向右删除指的是从左端点出发,间隔删除,从右向左删除指的是从右端点出发,间隔删除,整个删除过程中在连续序列 [ 1 , n ] [1,n] [1,n]中具有对称性,因此两个过程最终剩余的编号在连续序列中也具有对称性。

f[n]g[n]满足 f [ n ] + g [ n ] = n + 1 f[n] + g[n] = n + 1 f[n]+g[n]=n+1

联立两式,得
f [ n ] = 2 × ( ⌊ n / 2 ⌋ + 1 − f [ ⌊ n / 2 ⌋ ] ) f[n] = 2 \times (\lfloor n /2\rfloor + 1 - f[\lfloor n /2\rfloor]) f[n]=2×(⌊n/2+1f[⌊n/2⌋])


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值