實際上是水水題叻,先把樸素dp方程寫出來,發現$dp[i]$實際上是$dp[i-k]-dp[i-1]$的和,而看資料範圍,我們實際上是要快速地求得這段的和,突然就意識到是矩陣快速冪叻。
構建矩陣什麼的還是很簡單滴,主要就是練一練手。
(還有就是水一水blog!換個字型,換個心情!
(快速乘是在模數很大時要用,避免超long long
#includeusingnamespace
std;
#define ll long long
#define mod 7777777ll k, n, dp[
11];
struct
matrix
base
;struct
node pool;
matrix cheng(matrix a, matrix b)
matrix mpow(matrix a, ll b)
intmain()
校內測試 祖先(DP)
首先這個題顯然是應該考慮字元合併,一開始看到這個題的時候想到了某個名字就叫做 字元合併 的撞鴨dp題目。但是那個題和這個題還是有很多不同的地方的,首先這個題可能合併到最後串長仍然很大所以肯定不能撞鴨,並且合併過的字元可能還可以繼續合併,所以好像有點gg。然而這個題可以用某種叫做 看資料範圍猜做法 l...
8 28校內測試 區間DP
感受到了生活的艱辛qaq.這才是真正的爆錘啊.因為t1t3還沒有理解所以只能貼t2叻qaq 區間dp.爆哭把題理解錯了,以為隨著拿的東西越來越多,斷點也會越來越多,出現可以選很多的情況qaq,然而是不會的,自始至終只會有乙個斷點,哥哥和妹妹取都只有兩個方向,而妹妹還是強制選擇的qaq。所以把環展開就...
校內模擬 排列(狀壓DP)(矩陣快速冪)
簡要題意 統計有多少個不同的 n nn 排列滿足 pi i k p i i leq k pi i k k 4 k leq 4 k 4 容易發現當前位置選擇哪乙個只會影響到後面 k kk 個位置。k kk 本身非常小,狀壓即可。容易發現轉移和當前是第幾位無關,只和狀態有關,而且是線性,寫成矩陣然後快速...