字串各演算法學習

2021-07-05 11:22:47 字數 1053 閱讀 9273

在網路賽期間罷賽不做題了過來寫部落格真是一種罪過,然而被零封實在是沒有勇氣堅持最後乙個小時。。。。

兩個隊友都不在,單挑太水了

進入正題

模版上述地方有,根據題目對自己的理解進行解釋:

題意:給定m和l和乙個字串,

求該串中連續m個長為l的子串互不重複的數目

char s[maxn];

ull base[maxn],hash[maxn];

mapmp;

int main()

} return pos>=0;

}int main()

memset(hash,0,sizeof(hash));

memset(xp,0,sizeof(xp));

xp[0]=1;

for(int i=len-1;i>=0;i--)

hash[i]=hash[i+1]*x+str[i]-'a';

for(int i=1;i>1;

if (solve(mid)) low=mid;

else high=mid;

} solve(low);

printf("%d %d\n",low,pos);

} return 0;

}

我bin帶你飛的專題直接刷爆把:練習kmp

看過演算法之後,學學我bin神的模板保證比賽平安:

hdoj 2222

struct trie

void init()

void insert(char buf)

while(!q.empty())

} }int query(char buf)

void change(unsigned char str,int len)

tot=t;

}main():

int n,m;

while(scanf("%d",&n) == 1)

change(s,len);

ac.insert(buf,tot,i);

}

字串演算法學習筆記(三)

回文字串是指正序和反序以向的字串 定義前後指標,看你對應的位置是不是一樣 bool judge string a,int size int front 前指標 int end 後指標 front 0 初始指向字串的頭 end size 1 初始指向字串的尾 while front end front...

演算法學習之字串全排列

第一種方法字串全排列,思想上和我們高中學的排列一樣,比如123,開始的時候第乙個位置有三種選擇,第乙個選完之後第二個位置就只剩下兩種選擇,第三個位置,就剩一種,所以一共有n 種排列,所以我們可以用遞迴的思想去做,遞迴中做交換 include include define max 50 void sw...

演算法學習之陣列和字串

陣列和字串 逆序輸出 考慮問題 讀入一些整數,逆序輸出到一行中。已知整數不超過100個。我們把每個數都存下來,存放到 呢?答案是 陣列。include include define maxn 100 10 inta maxn intmain for i n 1 i 1 i printf d n a ...