nyoj-469--擅长排列的小明 II
生活随笔
收集整理的這篇文章主要介紹了
nyoj-469--擅长排列的小明 II
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
擅長排列的小明 II
時間限制:1000?ms ?|? 內(nèi)存限制:65535?KB 難度:3 描述小明十分聰明,而且十分擅長排列計算。
有一天小明心血來潮想考考你,他給了你一個正整數(shù)n,序列1,2,3,4,5......n滿足以下情況的排列:
1、第一個數(shù)必須是1
2、相鄰兩個數(shù)之差不大于2
你的任務是給出排列的種數(shù)。
輸入樣例輸出
4
推了一個下午,終于弄明白了,找到了其中的規(guī)律;
不過還是看了學長的題解明白的,我覺得值得推薦一下:
(為了簡便起見,我們用Ai代表第i個數(shù)字)
由于A1一直是1,所以A2只能是2或3。
1.當A2=2時,從A2到An的排列(2~n)相當于從A1到An-1的排列(1~n-1)(把每個數(shù)字都加1),一共有f[n-1]種情況。
2.當A2=3時,A3可能為2,4,5。
? ?當A3=2時,A4一定等于4,此時從A4到An的排列(4~n)相當于從A1到An-3的排列(把每個數(shù)字都加3),一共有f[n-3]種情況。
? ?當A3=4時,不管A4取不取2,都不能形成滿足題意的排列,故此種情況不可能發(fā)生。
? ?當A3=5時,排列只可能是1 ,3, 5,7,9......10,8,6,4,2,所以一共有1種情況。
綜上所述,f[n]=f[n-3]+f[n-1]+1;(n>3)
總結(jié)
以上是生活随笔為你收集整理的nyoj-469--擅长排列的小明 II的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020中国DevOps社区峰会(成都站
- 下一篇: 等式数量--hash算法之除留余数法