博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3080 Blue Jeans (后缀数组)
阅读量:5952 次
发布时间:2019-06-19

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

题目大意:

求出这些DNA序列中的最长且字典序最小的公共子串。

思路分析:

二分长度的答案,去height中扫描这个长度是否满足,一旦满足就立即输出。这样就能够保证字典序最小了。

#include 
#include
#include
#include
#define maxn 1005using namespace std;char str[maxn];int sa[maxn],t1[maxn],t2[maxn],c[maxn],n;void suffix(int m){ int *x=t1,*y=t2; for(int i=0;i
=0;i--)sa[--c[x[i]]]=i; for(int k=1;k<=n;k<<=1) { int p=0; for(int i=n-k;i
=k)y[p++]=sa[i]-k; for(int i=0;i
=0;i--)sa[--c[x[y[i]]]]=y[i]; swap(x,y); p=1;x[sa[0]]=0; for(int i=1;i
=n)break; m=p; }}int rank[maxn],height[maxn];void getheight(){ int k=0; for(int i=0;i
>1; if(check(mid))ans=mid,fans=pos,l=mid+1; else r=mid-1; } if(ans<3)printf("no significant commonalities"); else { for(int i=fans;i

转载于:https://www.cnblogs.com/gavanwanggw/p/6884058.html

你可能感兴趣的文章
17 行代码实现的简易 Javascript 字符串模板
查看>>
[LintCode] Identical Binary Tree
查看>>
从零开始写个编译器吧 - 程序流控制
查看>>
在 GitHub 上创建一个 Swift 包:其实一点也不简单
查看>>
swift基础之_swift调用OC/OC调用swift
查看>>
Devexpress 15.1.8 Breaking Changes
查看>>
推荐JS插件:imagesLoaded,监测图片加载情况并提供相应的事件(加载成功/失败)...
查看>>
Elide 4.3.1 发布,雅虎开源的应用数据 API 搭建平台
查看>>
简述什么是 Cloud Native
查看>>
阿里云服务器购买流程详细2019更新(图文教程) ...
查看>>
Java体系结构
查看>>
react
查看>>
Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)
查看>>
杨老师课堂之ArrayList集合常用方法解析
查看>>
Linux基础命令---lpq查看打印队列
查看>>
银杏谷资本合伙人郑雨林:我为什么围绕阿里云生态做投资?
查看>>
自动驾驶初创公司Nuro获软银9.4亿美元投资
查看>>
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>