~~~~
果然用map暴力直接超时。原来要用hash,第一次写hash,真是个好玩的东西。
?
注意:1.题目说文本是由字符组成的,所以要用ascll码作为下标。
2.hash数组要开大点,否则RE。
?
?
#include
#include
#include
#include
#include
#define N 16000000 using namespace std; int q[200]; int hash[N]; char str[N]; int main() { int n,m; while(~scanf(%d%d,&n,&m)) { int val=-1,tot=0; scanf(%s,str); int len=strlen(str); memset(q,0,sizeof(q)); memset(hash,0,sizeof(hash)); //以ascll码为下标给每个字符赋值。 for(int i=0;i
?