20190906 冲冲冲01

day 1
3题 kmp,思维

uvalive3026
明白了kmp算法
kmp的做错误匹配有2个关键点:
1.当前位置为i,找到和当前位置的元素相同的为d,如果i和d的元素相同,那么i的下一个元素就要和d的下一个元素比

  if(all[i]==all[d])kmp[i+1]=d;
        else kmp[i+1]=0;

2.那么要如何找到d呢,上次操作i-1时给出了kmp[i],那么就和指向的那个元素比,如果两者又不相同,那就和(指向的那个元素)指向的那个元素相比,即用一个循环,直到指向的那个元素指向第一个元素。

  if(all[i]==all[d])kmp[i+1]=d;
        else kmp[i+1]=0;

HDU 1711
制作匹配和匹配。
模版题

hdu5510
思维题,把问题想清楚
如果这么想:对每一个从答案ans+1那里扫一遍,会tle
看题解后,发现真的是要把一个问题想明白,
如果j是i的子串,j<i,那么判断i和k的时候,就只要判断 j 和 k 。

新学strstr

发布了114 篇原创文章 · 获赞 22 · 访问量 7054

猜你喜欢

转载自blog.csdn.net/qq_43235540/article/details/100587234