字串dp部分:
具體字串dp部分請看我另一篇部落格。
h題:easy problem//一般這樣的都不是很easy
看了一下題目。。。確實很easy//呸!
給你一串有權值的字串,你可以刪除某些字串使它不含子串行hard,求使所刪除的字元權值最小的情況。
這個題目 我剛一拿到以為是。。hash然後寫不出來自閉了,看了題解後發現是字串dp 。
具體實現方法:1.找出具體的轉移方程
借了大神的一段話
dp[i][x=0,1,2,3] 的狀態是前 i 個字母,第二維 x 代表:0——不包含任何有可能構成 「hard」 的子串行;1——含有然後問題就很好解決了,分別記錄出這些字串中所有的dp【】, dp【】, dp【】, dp【】「h」 子串行;2——含有 「ha」 子串行;3——含有 har 子串行。
上一段**吧!
for
(int i =
1; i <= n; i++
)else
}for
(int j =
2; j <=
4; j++
)else
}
dp的轉移方法很好理解。。
這個題也可以算是dp的入門題吧 就是題目比較難懂 但是看樣例還是比較好理解的!
2023年字串專題訓練賽04
這期主要是字串hash和字串dp 選d題的原因主要是想再複習一下二維hash 詳細請看我的另一篇部落格!d題 matrix matcher 這是二維字串hash的典型板子題目。題目大意 在二維的乙個字串內 查詢給定串出現了多少次 既然是板子 就不多說啦 include include include...
2023年字串專題訓練賽05
f題 補了這一題真的是對字典樹乙個更加深刻的理解,以後看見異或就要想到字典樹啦!題解 本題就是找乙個求出與這n個數異或後結果的最大值,這些最大值的最小值 建完字典樹後,取0,往1去找最大值,取1,往0去找最大值 根據異或的性質所找到的。具體實現 如下 include define int long ...
04字元和字串
字串一旦賦值了,就不能修改了。字串的兩種表示方式 雙引號和反引號,反引號以原生形式輸出 rune s2 將s2強制轉換為切片,strings s3 將切片轉換為字串 len str 求長度 或fmt.sprintf 拼接字串 strings.split 分割strings.contains 判斷是否...