HDU 1238 Substrings(暴力+stl)
来源:互联网 发布:哈工大大数据集团简介 编辑:程序博客网 时间:2024/06/05 17:52
You are given a number of case-sensitive strings of alphabetic characters, find the largest string X, such that either X, or its inverse can be found as a substring of any of the given strings.
23ABCDBCDFFBRCD2roseorchid
22
题解:
给你n个串,让你找这些串的最长公共子串
直接找出最短的串,枚举他的所有子串,然后暴力遍历,stl很方便,就是也有一些坑,莫名其妙不知道错哪
不过stl用起来很慢,不然c风格的字符串。。
虽然我没用到一个函数,但是还是学习一下
包含文件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
如果没找到就会返回NULL
代码:
#include<algorithm>#include<iostream>#include<cstring>#include<stdio.h>#include<math.h>#include<string>#include<stdio.h>#include<queue>#include<stack>#include<map>#include<vector>#include<deque>using namespace std;#define lson k*2#define rson k*2+1#define M (t[k].l+t[k].r)/2#define INF 1008611111#define ll long long#define eps 1e-15int vis[20005];int cmp1(string x,string y)//从小到大{ return x.size()<y.size();}int cmp2(string x,string y)//从大到小{ return x.size()>y.size();}int main(){ int test,n,i,j,k,cent,d,len,tot; scanf("%d",&test); while(test--) { string p[105],ss[20005]; scanf("%d",&n); cent=0; for(i=0;i<n;i++) { cin>>p[i]; vis[i]=0; } sort(p,p+n,cmp1); for(i=0;i<p[0].size();i++)//枚举子串 { for(j=1;i+j<p[0].size()+1;j++) { ss[cent]=p[0].substr(i,j); cent++; tot=0; for(k=ss[cent-1].size()-1;k>=0;k--,tot++) { ss[cent].push_back(ss[cent-1][k]); } cent++; } } sort(ss,ss+cent,cmp2); cent=unique(ss,ss+cent)-ss;//可以去一下重 len=0; for(i=0;i<cent;i++) { int tag=1; for(j=1;j<n;j++) { if(p[j].find(ss[i])==string::npos)//如果没找到 { tag=0; break; } } if(tag) { len=ss[i].size(); break; } } printf("%d\n",len); } return 0;}
阅读全文
0 0
- HDU 1238 Substrings(暴力+stl)
- HDU 1238 Substrings (暴力)
- HDU 1238 Substrings(KMP+暴力枚举)
- HDU 1238 Substrings(KMP+暴力枚举)
- hdu 1238 Substrings(暴力枚举)
- hdu 1238 Substrings 字符串暴力
- HDU 1238 Substrings kmp暴力枚举
- hdu 1238 暴力枚举+STL
- hdu 1238 Substrings(KMP)
- HDU 1238 Substrings(KMP)
- HDU 1238 Substrings 字符串水题,STL String 的应用
- POJ 1226 && HDU 1238 Substrings(kmp)
- hdu 1238 Substrings (暴搜,枚举)
- HDU 1238 Substrings(strstr函数)
- hdu-1238 Substrings
- HDU 1238 Substrings
- HDU 1238 ( Substrings )
- Hdu 1238 Substrings
- 2017.8.22
- 数据库切分(4)之全局主键生成策略
- Unity时间管理类,用来做一些方法的延迟调用
- 正则表达式
- Servlet.init() for servlet despatcherServlet threw exception,AopProxyUtils.getSingletonTarget(Ljava/
- HDU 1238 Substrings(暴力+stl)
- 打开我的csdn程序
- QUEUE
- 《C++ Primer》第五版课后习题解答_第二章(2)(09-20)
- tensorflow的优化器比较
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- 高内聚,低耦合概念
- ASP.NET案例教程实训指导相关资料
- 一篇很全面的freemarker教程