K歌时碰到的问题

 

1 问题

 


开场白:前天和同学一起去K歌,同学们唱的很HIGH,有些甚至在点歌的时候,时不时点几首超难的歌,结果谁也不会唱,直接pass 掉。“谦让”是俺们的美德嘛,所以,我总是让着他们。但是我发现了一个奇怪的现象,我明明点了歌,结果准备了好久都没轮到我唱。后来才发现,点歌系统里面,可以将预定的歌提到最前,打个比方,现在预定的歌按照顺序是:A,B,C。你如果将B提前的话就变成了B,A,C。但缺点是它只能允许你这么干,可是假如我只是想将某首歌排到我指定的地方(我不想让它排到第一,那样太显眼了!),难道真的不可以了吗? 这不禁激发了我的兴趣,我想了一下,发现其实是可以的。

 

我当时的想法有点复杂,这说明自己的思维还不成熟。当时似乎是以一种直觉的方式,发现的这样一个命题:我取了个名字叫K命题:……^_^

前提:对于已存在的一种序列 s = {a,b,c,..},假设只允许做一种操作op,它用于将s中的任何元素提到最前。

结论:利用操作op,可以构造序列s的任何排列S。

 

要想证明这样命题不难。因为我们假设要求的序列S= {x1, x2, .. xn)我们只需按照xn, xn-1, xn-2, .. x1的顺序来操作就行了。但是,我们也只是找到了一个解,可能有些操作是冗余的。那么,有最好的方案吗?有没有一种方案,使得我们的操作步骤最少?有。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值