Problem 2128 最长子串

Accept: 55    Submit: 209
Time Limit: 3000 mSec    Memory Limit : 65536 KB

 Problem Description

问题很简单,给你一个字符串s,问s的子串中不包含s1,s2...sn的最长串有多长。

 Input

输入包含多组数据。第一行为字符串s,字符串s的长度1到10^6次方,第二行是字符串s不能包含的子串个数n,n<=1000。接下来n行字符串,长度不大于100。

字符串由小写的英文字符组成。

 Output

最长子串的长度

 Sample Input

lgcstraightlalongahisnstreet 5 str long tree biginteger ellipse

 Sample Output

12

 Source

福州大学第十届程序设计竞赛

#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<vector>
#include<cmath>
#include<algorithm>
#define maxn 100002
#define LL long long
using namespace std ;struct node
{int x , y ;
}qe[maxn];
char a[maxn] , b[maxn] ;
int len ;
int cmp( node a , node b )
{return a.x < b.x ;
}
void find()
{int n , m , i , pos = 0 ;m = strlen(b) ;while(strstr(a+pos,b) != NULL ){i = strstr(a+pos,b)-a ;qe[len].x = i ;qe[len].y = i+m-1 ;pos = qe[len].y ;len++ ;}
}
int main()
{int i ,k ,j ;int n , m , ans ;// freopen("in.txt","r",stdin) ;while( scanf("%s",a) != EOF ){len = 0 ;cin >> m ;while(m--){scanf("%s",b) ;find() ;}if(!len){cout << strlen(a) << endl;continue ;}sort(qe,qe+len,cmp) ;ans = -1 ;qe[len].x = qe[len].y = strlen(a) ;for( i = 0 ; i < len ;i++ ){k = qe[i+1].y-qe[i].x-1 ;ans = max(k,ans) ;}cout << ans << endl;}return 0 ;
}

转载于:https://www.cnblogs.com/20120125llcai/p/3448690.html

Problem 2128 最长子串相关推荐

  1. Problem 2128 最长子串(kmp+strstr好题经典)

     Problem 2128 最长子串 Accept: 134    Submit: 523 Time Limit: 3000 mSec    Memory Limit : 65536 KB  Prob ...

  2. 最长子串(FZU2128)

    最长子串 Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  3. fuz--2128(最长子串)

                                                       最长子串 Accept: 130    Submit: 516 Time Limit: 3000 ...

  4. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)

    一.问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...

  5. leetcode--无重复字符的最长子串--python

    文章目录 题目 题目详情 示例 解题代码 思路 代码 运行结果 最佳方案 题目 题目详情 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 输入: "abcabcbb& ...

  6. 刻意练习:LeetCode实战 -- Task16. 无重复字符的最长子串

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  7. 【每日一算法】无重复字符的最长子串

    微信改版,加星标不迷路! 每日一算法 - 无重复字符的最长子串 思路答案 首先定义一个指针p指向该字符串的链头,然后通过p指针后的第i个字符是否和p指针后的第j个字符相同来取得最大长度.(也叫做完全遍 ...

  8. 汇编语言求无符号数组中出现的次数最多数_【今日最佳leecode通俗易懂】无重复字符的最长子串...

    相信看了这个标题的同学,对这道题以已经非常不陌生了,就是leecode当中的第三题,之所以要单独的写一写主要对我来说,里面涉及到有一个滑动窗口, 散列表, 字符编码等知识点比较重要,也有几个小技巧,这 ...

  9. 大二菜鸟———无重复字符的最长子串

    这是一枚大二菜鸟的成长反思博客   终于忍不住,在这六月将之的一天开始写起了博客.数据结构计算机算法杂七杂八学了一堆但是都只是浅尝,觉得还是要写博客反刍学习到的知识.   感谢大佬 @Java3y 的 ...

  10. 无重复最长子串python_leetCode 无重复字符的最长子串 python(Longest Substring Without Repeating Characters) python...

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. Default 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &quo ...

最新文章

  1. 如何有效利用项目管理工具提高工作效率?
  2. springcloud、consul和Springboot的版本
  3. 用c语言编译二叉树,C语言实现二叉树的基本操作
  4. qmediaplayer获取流类型_Java 流API
  5. Java 8 SE可选,严格的方法
  6. 「声明」本博客自动采集于博客园-niceyoo
  7. tuxedo错误码6_TUXEDE返回的所有错误代码
  8. android 拒绝服务漏洞,Android 应用本地拒绝服务漏洞浅析
  9. 实现一个shell程序
  10. 5款优秀免费在线数据备份/存储工具
  11. java调用百度地图API依据地理位置中文获取经纬度
  12. 实现一个36进制的加法0-9,a-z
  13. BZOJ2038:[2009国家集训队]小Z的袜子——题解
  14. shell判断文件与字符串
  15. Unity Shader案例之——阴阳师画符效果
  16. 梯度下降算法和逆误差传播算法
  17. The Best of Many Worlds_ Dual Mirror Descent for Online Allocation Problems
  18. java编程判断斐波那契数是质数
  19. linux编译ace tao,ACE_TAO的编译
  20. 祝贺丨openGauss正式亮相,云和恩墨发布可公开下载的容器镜像

热门文章

  1. Dediprog EM100Pro-G2 安装与配置教程
  2. Linux内核开发_2_Initramf
  3. 自定义Json解析工具
  4. 魅族魅蓝note3完美开启usb调试模式的经验
  5. 研究理解lanproxy实现内网穿透
  6. python属性查找 深入理解(attribute lookup)
  7. JavaScript学习10 JS数据类型、强制类型转换和对象属性
  8. 在centos linux上安装jdk7
  9. onvif协议规范与版本简介
  10. ASP分页要用到的属性ADO CursorLocation知识补充: