1. 程式人生 > >初賽(Astar Round2A)解題報告

初賽(Astar Round2A)解題報告

眾所周知,度度熊喜歡的字元只有兩個:B和D。

今天,它發明了一種用B和D組成字串的規則:

S(1)=B

S(2)=BBD

S(3)=BBDBBDD

S(n)=S(n-1)+B+reverse(flip(S(n-1))

其中,reverse(s)指將字串翻轉,比如reverse(BBD)=DBB,flip(s)指將字串中的B替換為D,D替換為B,比如flip(BBD)=DDB。

雖然度度熊平常只用它的電腦玩連連看,這絲毫不妨礙這臺機器無與倫比的運算速度,目前它已經算出了S()的內容,但度度熊畢竟只是只熊,一次讀不完這麼長的字串。它現在想知道,這個字串的第L位(從1開始)到第R位,含有的B的個數是多少?