P5303 [GXOI/GZOI2019]逼死強迫癥
阿新 • • 發佈:2019-04-17
pla img 斐波那契數列 inf 不同 長度 clas 圖形 9.png
的每個節點放? q 個配置,這些配置可以把?案拆解為 q 塊可以循環排列的結構。?這種?法,每個節點的
level 數就代表該層節點的整體重復次數。那麽我們的?的就是構造這樣?棵樹,然後求每個節點到達根節點
的距離和。
題目地址:P5303 [GXOI/GZOI2019]逼死強迫癥
這裏是官方題解
初步分析
從題目和數據範圍很容易看出來這是一個遞推 + 矩陣快速冪,那麽主要問題在於遞推的過程。
滿足條件的答案一定是以下的形式,設 \(k = n - 1\) ,左右兩邊為整齊的道路,中間為長度 \(p(p \geq 3)\) 的組合塊:
由 \(p\) 的奇偶性,可以得到兩種不同的基本圖形,即 \(1 \times 1\) 的小塊在同一行( \(p\) 是偶數)和各占一行( \(p\) 是奇數)。
數學方法
左右均為普通的鋪地板問題,可以用斐波那契數列表示,通過上下翻轉可以得到兩種不同的中間塊方案,於是答案可以表示為:
\[F_k = 2 \sum_{p=3}^{n}\ \sum_{m=p}^{n}\ f_{k-m}\ f_{m-p+1}\]
轉化為母函數可得:
\[\sum_{k=0}^{\infty}\ x^n\ F_k = \frac{2x^3}{(1-x)(1-x-x^2)^2}\]
DP方法
思考如何構造方案,在 \(p = 3\) 時,有兩個無法分割的排列 :、,其余方案可以通過在中心塊一
側加入一個豎向的 \(1 \times 2\) 地磚或者兩個橫向的 \(1 \times 2\) 地磚組成的方形獲得。答案就是上述方案的所有排列數之和。
問題轉化
為了更好的求解問題,將所有?案放在?棵樹上,稱之為“?案樹”,? T 表?。具體??,在樹上 level q
level 數就代表該層節點的整體重復次數。那麽我們的?的就是構造這樣?棵樹,然後求每個節點到達根節點
的距離和。
P5303 [GXOI/GZOI2019]逼死強迫癥