練習記錄(高斯消元,kmp,dp)

2021-10-11 11:04:14 字數 1120 閱讀 9200

題目

實際本題還有更好的dp做法,之後再學習一下。不過正好學了高斯消元,就練習一下。

設f [i

]f[i]

f[i]

為已匹配了前i為字元,得到期望字串還需要補上字串的長度的期望值。顯然,f[m

]=

0.f[m]=0.

f[m]=0.f[

i]=∑

f[j]

/n+1

,0

=<

i<

mf[i]=\sum/n+1,0=f[

i]=∑

f[j]

/n+1

,0=<

i<

m,j是列舉加上的字元後轉移到的狀態,這個狀態值可以由字首函式推得。根據全期望公式,就可以得到該公式。這樣就可以得到m個方程,高斯公式求解即可。用double貌似精度不夠,要用long long處理。不過應該要處理不能整除的情況,但假如每次不選主元行可以直接過,不知道為啥。

#include

using

namespace std;

const

int maxn =10+

5;typedef

long

long matrix[maxn]

[maxn]

;matrix a;

char s[maxn]

;int n,m,p[maxn]

;void

gauss

(matrix a,

int n)

if (r != i)

*/for(j=n+

1;j>=i;j--)}

}for

(i = n; i>=

1; i--)if

(a[i]

[i])

a[i]

[n+1]/

= a[i]

[i];}}

void

getp

(char

*s)}

void

build

(char

*s)}

}int

main()

return0;

}

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...

矩陣消元 高斯消元

安利一波高斯消元的部落格,內容很詳細。看完這個相信你已經理解了大概,高斯消元求線性方程組,在學習線性代數 大學課程 的時候我們都接觸過。原理是先把執行緒組轉換成矩陣,然後把它等價變換成上三角矩陣,這樣從下到上依次可以求出解集。高斯消元模板 模板題 include define n 205 using...

矩陣乘 高斯消元專題小結 高斯消元

i p其它題太水了就不寫了,這裡說一下o和p。我太懶不想寫 op這兩個題是高斯消元求期望的題。對於p題,求從 點到 點的步數期望,先從 點bfs一遍找到所有可以到達的點,對於可達點每個點是乙個變數。因為終點有任意多而起點只有乙個,這裡可以反過來求從任意乙個終點走到起點的期望。於是對於每乙個終點的期望...