zoukankan      html  css  js  c++  java
  • HDU 5510 Bazinga (字符串匹配)

    题目:传送门

    题意:组数据,每组 个串,对于第 个串如果存在 到 i-1 中的某个串不是 的子串,那么这个第 个串符合题意,求 的最大值。

    题解:KMP,AC自动机也可以,直接匹配就行。注意如果串 jj+1的子串,那么对于j+2来说只需要匹配j+1是不是他的子串即可,因为比匹配 j 更容易符合题意。用cin会超时,要用scanf。

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    using namespace std;
    char s[510][2050];
    int main()
    {
        int t,cas=1;
        scanf("%d",&t);
        while(t--)
        {
            memset(s,0,sizeof(s));
            int n;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%s",s[i]);
            int ans=-1,j=1;
            for(int i=2;i<=n;i++)
            {
                while(j<i&&strstr(s[i],s[j]))
                    j++;
                if(j<i)
                    ans=i;
            }
            printf("Case #%d: %d
    ",cas++,ans);
        }
        return 0;
    }
  • 相关阅读:
    burpsuite 不能抓取其他虚拟机环回地址
    Widows搭建sqli-labs
    Mysql内置函数
    MySQL用户创建于授权
    SQL注入
    XSS/CSRF/SSRF/XXE
    Cookie与Session的区别
    HACKTHEBOX邀请码
    kali安装jdk
    java -D
  • 原文地址:https://www.cnblogs.com/Ritchie/p/5742612.html
Copyright © 2011-2022 走看看