在網路賽期間罷賽不做題了過來寫部落格真是一種罪過,然而被零封實在是沒有勇氣堅持最後乙個小時。。。。
兩個隊友都不在,單挑太水了
進入正題
模版上述地方有,根據題目對自己的理解進行解釋:
題意:給定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 ...