- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
【题2】构造字串
生成长度为n的字串,其字符从26个英文字母的前p(p≤26)个字母中选取,使得没有相邻的子序列相等。例如p=3,n=5时
‘abCba’满足条件
‘abCbC’不满足条件输入:n,p
输出:所有满足条件的字串
题解
1、检查当前字串是否符合条件
设当前串s=s‥s s且s‥s
合理。按照下述方法判断s是否仍然保持其合理性质:
1 m-1m 1 m-1
分别判断s的后缀中长度为1的两个相邻子串s
m-1
与s是否相等;长度为2的两个相邻子串s
m-3
s
m-2
与s s
是否相等,……‥,长度为?m?的两个相邻子串s‥s
与s ‥s
是否相等。即s ‥s
m
??2??
1 ?m?
?2?
?m? m
?1?2
?1
m-2l+1
m-1
? ? ? ?
与s ‥s
是否相等(1≤l≤?m?)。若其中一旦出现了两个相邻子串相等的情况,则说明s‥s
不合理;
m-l+1 m
??2?? 1 m
若经过?m?次判断后未出现不合理情况,则说明s‥s
满足条件。
??2?? 1 m
2、回溯搜素满足条件的所有字串
我们从空串出发,逐个字符地延长字串。若当前字符添入后使得字串保持合理的性质,则添入该字符;否则改变字串。
状态:待扩展的字母序号at。实际上字串s亦参与了递归运算,但是由于该变量的存储量太大,因此我们将s设为全局变量;
边界条件和目标状态:产生了一个满足条件的字串,即at=n+1;搜索范围:第at位置可填的字母集{a..chr(ord(a)+p-1)};约束条件:当前字串没有相邻子串相等的情况
var
n,p:integer; {字串长度和可选字母的个数}
tl:longint; {满足条件的字串数}
ed:char; {可选字母集中的最大字母}
s:string; { 满足条件的字串}
proceduresolve(at:integer); {递归扩展第at个字母}var
ch:char;i:integer;begin
ifat=n+1 {若产生了一个满足条件的字串,则输出,满足条件的字串数+1}thenbegin
writeln(f,s);inc(tl);
exit {回溯}
end;{then}
forch←atoeddo {搜索每一个可填字母}
begins←s+ch;
i←1; {检查当前字串是否符合条件}
while(i=atdiv2)and
(copy(s,length(s)-i+1,i)copy(s,length(s)-2*i+1,i))doinc(i);
ifiatdiv2thensolve(at+1); {若当前字串符合条件,则递归扩展下一个字母}delete(s,length(s),1) {恢复填前的字串}
end{for}end;{solve}
begin
readln(n,p); {输入字串长度和前缀长短}
ed←chr(ord(a)+p-1); {计算可选字母集中的最大字母}s←;tl←0; {满足条件的字串初始化为空,字串数为0}solve(1); {从第1个字母开始递归计算所有满足条件的字串}writeln(Total:,tl); {输出满足条件的字串数}
end.{main}
在搜索过程中,如果扩展子状态的过程是在不同情况(即每种情况下的约束条件、扩展规则或搜索范围不同)下进行,则对当前状态分情形递归搜索
您可能关注的文档
最近下载
- 公司法务部基础管理手册.pdf VIP
- DB33T 1349-2023智慧高速公路 隧道运行管控系统建设技术要求.docx
- 中国银屑病生物制剂及小分子药物治疗指南(2024版).pdf VIP
- 新员工岗位胜任力评估述职报告2025版智能图表PPT套装.pptx VIP
- 一例脑卒中病人的个案护理.pptx VIP
- 交通卡口监控系统维护方案.pdf VIP
- 一例重症脑卒中患者的全程营养护理PPT.pptx VIP
- 初中英语新人教版七年级上册全册单词(2025秋) .pdf VIP
- 劳动合同书模板word(2025版).docx VIP
- 初升高数学暑假衔接(人教版)第05讲 全称量词与存在量词(学生版).pdf VIP
文档评论(0)