動態規劃 求解萬用字元問題(wildcard)

2021-07-22 13:46:58 字數 530 閱讀 1609

*p*(必須包含 p,左右隨意)

*bb*(必須包含連續的兩個 bb,左右隨意)

? 的匹配處理其實很好處理,困難的地方還在於 * 的匹配問題。

假定給定的正規化包含 m 個「*」,每次出現「*」就分割 1 次正規化。那麼,「此正規化是否對應字串」的問題可分為 m+1 個子問題。例如,正規化t*l?*o*r?ng*s可分為。那麼當給出字串thelordoftherings時,為了找出字串中的前幾個對應第乙個分割快,窮舉搜尋法會嘗試所有可能的組合。找出對應於第乙個分割快的 3 (本例為前 3 )個字元後,利用遞迴呼叫就能很容易地判斷出剩下的字串lordoftings是否對應於剩餘的 4 個分割快。

bool match(const string& w, const string& s)

return false;

}}

動態規劃求解路徑問題

動態規劃求解的兩個條件 1 最優解問題 2 大問題可以拆分成小問題,大問題的最優解包含小問題的最優解,將小問題的最優解儲存起來,在求大問題最優解的時候無需重新求解,直接拿來用即可。具體問題 需求一 給定m n矩陣,從左上角出發,到右下角,每次只能向右走或者向下走,求共有多少路徑?分析 假設路徑數是f...

動態規劃求解投資問題

問題 設 m 元錢,n 項投資,函式f x 表示將 x 元投入第 i 項專案所產生的效益,i 1,2,n.問 如何分配這m元錢,使得投資的總效益最高?解析可以設dp i j cost i j 陣列,dp代表花費j元投資前i項的所獲取的最優效益,cost代表dp i j 情況在第i專案上花費的金額,從...

動態規劃 求解金礦問題

題目描述 很久很久以前,有乙個國王擁有5座金礦,每座金礦的 儲量不同,需要參與挖掘的工人人數也不相同。例如 有的金礦儲存量是500kg 需要5個工人來挖 有的金礦儲存量是200kg 需要3個工人來挖 如果參與挖礦的工人總數是10,每座金礦要麼全挖,要麼不挖,不能派出一半人挖取一半的金礦,想要得到盡可...