hdu3689(kmp+dp)
題意:問隨機生成一個長度為m(m<=1000)長度的字符串,出現某個子串s的概率是多少。
解法:dp+kmp優化。ans[i][j]表示i長度,走到了s的j位置的概率,當然這是在i之前沒有出現s的前提下(在狀態轉移時候已經保證了這一點);然後最後的概率就是1-m長度的串分別最後出現s的概率之和。
代碼:
/******************************************************
* @author:xiefubao
*******************************************************/
#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
#include
#include
#include
#include
#include
#include
#include