題解 洛谷P4838 P哥破解密碼

2021-10-24 08:30:36 字數 643 閱讀 8253

洛谷p4838 p哥破解密碼

對於n<=1e7的資料,可以使用常規的動態規劃。用f[i][0/1/2]分別表示長度為i,且以aa/a/b結尾的字串的數量。可以得到狀態轉移方程:

f[i][0]=f[i-1][1] , f[i][1]=f[i-1][2] , f[i][2]=f[i-1][0]+f[i-1][1]+f[i-1][2]

對於大資料,使用矩陣優化。

#include using namespace std;

typedef long long ll;

const ll mod=19260817;

int n;

struct matrixst,nxt;

inline matrix mul(matrix a,matrix b)

inline matrix quick_pow(matrix a,ll b)

return c;

}inline void pre()

inline void solve()

int main()

return 0;

}

洛谷 P4838 P哥破解密碼 題解

a1 1 1 2 4 7 13 24 44 81 149 274 a2 0 1 1 2 4 7 13 24 44 81 149 274 b 1 2 4 7 13 24 44 81 149 274 f a2 a2 a1 a1 b b a1 a2 f 19260817 includeusing name...

題解 P4838 P哥破解密碼

矩乘優化遞推 hint n 10e9,線性的都沒法了 f i j i 1,n j 0,2 表示 n i 時,乙個數末尾有j個a的方案數。由於末尾有a的可能性只與上一狀態中乙個狀態有關 1個a與0個a有關,2個a與1個a有關 而末尾有0個aa的情況,只要塞乙個b就行了。所以是上一狀態中所有狀態方案數之...

洛谷P5049 洛谷P5022 題解 旅行

原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...