Oulipo

原创 2015年07月07日 18:26:03


http://acm.hdu.edu.cn/showproblem.php?pid=1686

#include<iostream>
#include<string>
using namespace std;
int next1[100002];
int mount;
void getnext(string s)
{
 int i=0,j=-1;
 next1[0]=-1;
 while(i<s.size())
 {
  if(j==-1 || s[i]==s[j])
  {
   i++;
   j++;
   next1[i]=j;
  }
  else
   j=next1[j];
 }
}
void match(string w,string t)
{
 int i=0,j=0;
 while(i<t.size())
 {
  if(j==-1 || t[i]==w[j])
   i++,j++;
  else
   j=next1[j];
  if(j==w.size())
  {
   mount++;
   j=next1[j];
  }
 }
}
int main()
{
// freopen("C:\\Users\\John\\Desktop\\hi.txt","r",stdin);
 int t1;
 string w,t;
 cin>>t1;
 while(t1--)
 {
  mount=0;
  cin>>w>>t;
  if(t.size()<w.size())
  {
   cout<<"0"<<endl;
   continue;
  }
  getnext(w);
  match(w,t);
  cout<<mount<<endl;
 }
 return 0;
}

相关文章推荐

B - Oulipo poj 3461 (kmp 找子串的数,子串可以有重叠)

B - Oulipo Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descr...

poj 450 Oulipo

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26226   Accepted: 10466 ...

hdu_1686 Oulipo

Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition...

POJ 3461 Oulipo [KMP模板题]

KMP[模板]

POJ 3461 Oulipo (KMP)

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 23190   Accepted: 9287 ...

Oulipo

点击打开链接 Problem Description The French author Georges Perec (1936–1982) once wrote a book, La dis...

HDU 1686 Oulipo

KMP 水题。

hdoj 1686 Oulipo

Oulipo Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...
  • wyjwyl
  • wyjwyl
  • 2015年08月07日 15:29
  • 213

HDU1686:Oulipo KMP算法

KMP算法晦涩难懂,看了很多博客,了解了大致原理: 首先KMP算法是一个字符串匹配算法,对一个字符串,查找是否存在模式串,区别于传统匹配算法,KMP算法通过对模式串进行预处理,获得一个next数组,通...
  • JayACM
  • JayACM
  • 2017年07月31日 09:43
  • 97

poj 3461 Oulipo kmp

点击打开链接题目链接 Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26781   Accep...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oulipo
举报原因:
原因补充:

(最多只允许输入30个字)