博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SPOJ220 Relevant Phrases of Annihilation
阅读量:7070 次
发布时间:2019-06-28

本文共 1759 字,大约阅读时间需要 5 分钟。

http://www.spoj.com/problems/PHRASES/

题意:给n个串,求n个串里面都有2个不重叠的最长的字串长度。

思路:二分答案,然后就可以嘿嘿嘿

PS:辣鸡题目毁我青春,一开始二分的时候ans没有赋初值为0,结果没答案的时候就会输出奇怪的数字T_T,其实主要还是怪我不小心。。

1 #include
2 #include
3 #include
4 #include
5 #include
6 int len,num[500005],ws[500005],wv[500005],wa[500005],wb[500005],h[500005],sa[500005],rank[500005]; 7 int f[500005][2],N,b[500005]; 8 char s[500005]; 9 int read(){10 int t=0,f=1;char ch=getchar();11 while (ch<'0'||ch>'9'){
if (ch=='-')f=-1;ch=getchar();}12 while ('0'<=ch&&ch<='9'){t=t*10+ch-'0';ch=getchar();}13 return t*f;14 }15 bool cmp(int *r,int a,int b,int l){16 return r[a]==r[b]&&r[a+l]==r[b+l];17 }18 void da(int *r,int *sa,int n,int m){19 int *t,*x=wa,*y=wb,i,j,k,p;20 for (i=0;i
=0;i--) sa[--ws[x[i]]]=i;25 for (j=1,p=1;p
=j) y[p++]=sa[i]-j;28 for (i=0;i
=0;i--) sa[--ws[wv[i]]]=y[i];33 for (t=x,x=y,y=t,i=1,x[sa[0]]=0,p=1;i
=mid) r++;52 for (int j=1;j<=N;j++) f[j][0]=0x3f3f3f3f,f[j][1]=-0x3f3f3f3f;53 for (int j=l-1;j<=r-1;j++){54 int k=b[sa[j]];55 if (k==N+1) continue;56 f[k][0]=std::min(f[k][0],sa[j]);57 f[k][1]=std::max(f[k][1],sa[j]);58 }59 int j=0;60 for (j=1;j<=N;j++){61 if (f[j][0]==0x3f3f3f3f) break;62 if (f[j][1]-f[j][0]
N) return 1;65 i=r;66 }67 return 0;68 }69 void solve(){70 int l=1,r=20000,ans=0;71 while (l<=r){72 int mid=(l+r)>>1;73 if (check(mid)) ans=mid,l=mid+1;74 else r=mid-1;75 }76 printf("%d ",ans);77 }78 int main(){79 int T=read();80 while (T--){81 len=0;82 int n=read();83 for (int i=1;i<=n;i++){84 scanf("%s",s+1);85 int Len=strlen(s+1);86 for (int j=1;j<=Len;j++)87 num[len]=s[j],b[len++]=i;88 if (i

 

转载于:https://www.cnblogs.com/qzqzgfy/p/5636269.html

你可能感兴趣的文章
location
查看>>
Araxis Merge的help
查看>>
通过进程ID得到进程名
查看>>
cacti的基本应用
查看>>
MYSQL错误代码集
查看>>
Centos7 命令总结
查看>>
lufylegend HTML5开源框架基本操作
查看>>
startActivityForResult备忘
查看>>
android webrtc使用opensl es
查看>>
spring mvc restful + json 测试代码(一)
查看>>
在控制台程序中使用MFC类
查看>>
用enum类型数据解决switch case选择字符串的问题
查看>>
Exception happened during processing of request
查看>>
微服务间的通信如何选择
查看>>
android中的智能指针
查看>>
PHP获取今天、明天、一个月后、一年后等等时间函数
查看>>
wampServer配置局域网文件共享
查看>>
SpringBoot基础教程2-1-2 Controller规范及响应规范
查看>>
在两个ASP.NET页面之间传递值(转)
查看>>
linux安装软件备忘
查看>>