首页 > 公务员> 强国挑战
题目内容 (请给出正确答案)
[主观题]

字符串t和p的长度分别为m和n.t的后缀数组为sa.请说明如何利用t的后缀数组搜索给定字符串p在t中出现的所有位置.要求算法在最坏情况下的时间复杂性为O(mlogn).

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“字符串t和p的长度分别为m和n.t的后缀数组为sa.请说明如…”相关的问题
第1题
设主串t和模式串p分别是由d(d≥2)元字符集中随机字符组成的长度为n和m的字符串.试证明简单子串

设主串t和模式串p分别是由d(d≥2)元字符集设主串t和模式串p分别是由d(d≥2)元字符集中随机字符组成的长度为n和m的字符串.试证明简单子串设中随机字符组成的长度为n和m的字符串.试证明简单子串搜索算法所做比较次数的期望值为

设主串t和模式串p分别是由d(d≥2)元字符集中随机字符组成的长度为n和m的字符串.试证明简单子串设

由此可见,对于随机选取的字符串,简单子串搜索算法还是十分有效的.

点击查看答案
第2题
在字符串集合P的AC自动机T中,状态结点s所表示的字符串是从根结点到s的路径上各边的字符依次连接组成的字符串a(s).设s和t是T中两个结点,且u=a(s),v=a(t).试证明,f(s)=t当且仅当v是字符串pi(0≤i<k)的所有前缀中u的最长真后缀.

点击查看答案
第3题
在模式枚举(pattern enumeration)类应用中,需要从主串T中找出所有的模式串P(T|=n,|P|=m),而且

在模式枚举(pattern enumeration)类应用中,需要从主串T中找出所有的模式串P(T|=n,|P|=m),而且有时允许模式串的两次出现位置之间相距不足m个字符。

类似于教材310页图11.3中的实例,比如在“000000”中查找“000”。若限制多次出现的模式串之间至少相距|P|=3个字符,则应找到2处匹配;反之,若不作限制,则将找到4处匹配。

a)试举例说明,若采用后一约定,则教材11.4.3节BM算法的好后缀策略,可能需要Ω(nm)时间;

b)试针对这一缺陷改进好后缀策略,使之即便在采用后一约定时,最坏情况下也只需线性时间。

点击查看答案
第4题
问题描述:基因序列是用字符串表示的携带基因信息的DNA分子的一级结构.基因序列的字符集是Σ={A,

问题描述:基因序列是用字符串表示的携带基因信息的DNA分子的一级结构.基因序

列的字符集是Σ={A,C,G,T}.其中字符分别代表组成DNA的4种核苷酸:腺嘌呤、胞嘧啶、鸟嘌呤、胸腺嘧啶.许多疾病往往是由基因突变引起的.这种基因突变是从一个正常的基因序列通过几代人的遗传而产生的.对于基因片段的分析有助于了解基因突变导致的遗传疾病.例如,如果一个基因序列中含有基因片段ATG,则可能含有某种遗传疾病.生物科学家们已经发现许多这类基因片段.对于已知的不安全的基因片段集合P,如果一个基因序列中含有P中基因片段,则称该基因序列为不安全的基因序列,否则称该基因序列为安全的基因序列.

算法设计:对于给定的不安全的基因片段集合P和一个正整数n,计算长度为n的安全的基因序列个数.

数据输入:由文件input.txt提供输入数据.文件的第1行有两个正整数n(1≤n≤2x109)和m(0≤m≤10).n是基因序列长度,m是不安全的基因片段个数.接下来的m行中,每行是一个长度不超过10的不安全的基因片段.每个文件可能有多个测试数据.

结果输出:将计算出的长度为n的安全的基因序列个数mod100000,输出到文件output.txt中.

问题描述:基因序列是用字符串表示的携带基因信息的DNA分子的一级结构.基因序列的字符集是Σ={A,问

点击查看答案
第5题
问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符串 多子串排

问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符串问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符多子串排斥约束的最长公共子序列问题就是要找出x和y的不含问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符为其子串的最长公共子序列

算法设计:设计一个算法,找出给定序列x和y的不含问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符为其子串的最长公共子序列.

数据输入:重文件input.txt提供输入数据.文件的第1行中给出正整数d,表示约束字符串个数.接下来的2行分别给出序列x和y.最后d行的每行给出一个约束字符串.

结果输出:将计算出的x和y的不含问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符为其子串的最长公共子序列输出到文件output.txt中.文件的第1行输出最长公共子序列.第2行输出最长公共子序列的长度.

问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及d个约束字符

点击查看答案
第6题
设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字

设有一个长度为S的字符串,其字符顺序存放在一个一维数组的第1至第S个单元中(每个单元存放一个字符)。现要求从此字符串的第m个字符以后删除长度为t的子串,m<s,t<(s-m),并将删除后的结果复制在该数组的第s单元以后的单元中,试设计此删除算法。

点击查看答案
第7题
设P(t)表示某城市在t时刻的人口数。已知在t到t+dt一段时间内该城市出生人数和死亡人数均与P(t)dt成正比,且它们的比例系数分别为m(出生率)和n(死亡率),又设某初始时刻的人口数为P0,试确定人口数P与时间t的关系P(t)。

点击查看答案
第8题
若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是

A.a+1表示的是字符t的地址

B.p指向另外的字符串时,字符串的长度不受限制

C.p变量中存放的地址值可以改变

D.a中只能存放10个字符

点击查看答案
第9题
有以下程序:#include <string.h>main(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d

有以下程序: #include <string.h> main() { char p[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d %d\n",strlen(p),strlen(q)); } 以下叙述中正确的是()。

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定

点击查看答案
第10题
设有程序段:chars[]=”china”;char*p;p=s;则下面叙述正确的是()。

A.s数组长度和p所指向的字符串长度相等

B.s和p完全相同

C.*p与s[0]相等

D.数组s中的内容和指针变量p中的内容相等

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改