排列问题

      在整数1,2,...,N的排列中,有些排列满足下面一个性质A:该排列中除了最后一个整数外的每一个整数后面都跟有一个与它相差为1的数字。设有N个数字,已知一部分位置上的数,求满足性质A的排列有多少个?

     

分析:假设只有一个数字, 即N=1,则满足A条件。若只有两个数字,则一定满足。若有三个数字,不论最后一个数字是什么,满足A条件的后缀序列必然是连续数字组成的集合。例如3个数字的时候,后两个数字不可能为(1,3)。根据这个属性我们设计动态规划算法。

假设

       f(s,r)表示范围在[s,s+r-1]的数字组成的满足A性质的串的数量。

      

       则                                      f(s+1,r-1)                  若r位置确定为s

                         f(s,r)=             f(s,r-1)                       若r位置确定为s+r-1

                                                f(s+1,r-1)+f(s,r-1)     若r位置没有确定

 

       以前也做过这道题,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值