zoukankan      html  css  js  c++  java
  • poj3461Oulipo【kmp】

    大意:kmp

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 
     6 const int maxn = 1000005;
     7 
     8 int next[maxn];
     9 
    10 void get(char *s) {
    11     int l = strlen(s);
    12     int j = 0, k = -1;
    13     next[0] = -1;
    14     while(j < l) {
    15         if(k == -1 || s[j] == s[k]) {
    16             next[++j] = ++k;
    17         } else {
    18             k = next[k];
    19         }
    20     }
    21 }
    22 
    23 int kmp(char *s1, char *s2) {
    24     int l1 = strlen(s1), l2 = strlen(s2);
    25     int i = 0, j = 0;
    26     int sum = 0;
    27     get(s2);
    28     while(i < l1 && j < l2) {
    29         if(j == -1 || s1[i] == s2[j]) {
    30             i++; j++;
    31         } else {
    32             j = next[j];
    33         }
    34         if(j == l2) {
    35             sum++;
    36             j = next[j];
    37         }
    38     }
    39     return sum;
    40 }
    41 
    42 char s1[maxn], s2[maxn];
    43 int main() {
    44     int t;
    45     scanf("%d",&t);
    46     while(t--) {
    47         scanf("%s",s1);
    48         scanf("%s",s2);
    49 //        printf("%s %s
    ",s1, s2);
    50         printf("%d
    ", kmp(s2,s1));
    51     }
    52 }
    View Code
  • 相关阅读:
    8. Django系列之上传文件与下载-djang为服务端,requests为客户端
    机器学习入门15
    机器学习入门14
    机器学习入门13
    机器学习入门12
    ML
    AI
    机器学习入门11
    机器学习入门10
    机器学习入门09
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/4764008.html
Copyright © 2011-2022 走看看