這期主要是字串hash和字串dp
選d題的原因主要是想再複習一下二維hash
詳細請看我的另一篇部落格!
d題(matrix matcher)
這是二維字串hash的典型板子題目。
題目大意:在二維的乙個字串內 查詢給定串出現了多少次
既然是板子 就不多說啦
#include
#include
#include
#include
#include
#include
using
namespace std;
typedef
unsigned
long
long ull;
const
int maxn =
1010
;ull base1 =
131,base2 =
1331
;char a[maxn]
[maxn]
,b[maxn]
[maxn]
;ull hsa[maxn]
[maxn]
,hsb[maxn]
[maxn]
; ull p1,p2;
int ans =0;
int n,m,x,y;
void
get_p()
for(
int i=
1;i<=x;i++)}
void
get_ans()
}for
(int i=
1;i<=n;i++)}
}}intmain()
scanf
("%d%d"
,&x,
&y);
for(
int i=
1;i<=x;i++
)get_p()
;get_ans()
; cout<}return0;
}
2023年字串專題訓練賽04
字串dp部分 具體字串dp部分請看我另一篇部落格。h題 easy problem 一般這樣的都不是很easy 看了一下題目。確實很easy 呸!給你一串有權值的字串,你可以刪除某些字串使它不含子串行hard,求使所刪除的字元權值最小的情況。這個題目 我剛一拿到以為是。hash然後寫不出來自閉了,看了...
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 判斷是否...