seek
最新推荐文章于 2022-11-10 14:24:21 发布

huangja 于 2017-02-17 19:49:46 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1536. seek (Standard IO)
Time Limits: 1000 ms Memory Limits: 65536 KB Detailed Limits
Goto ProblemSet
Description俗话说“好命不如好名”,小h准备给他的宠物狗起个新的名字,于是他把一些英文的名字全抄下来了,写成一行长长的字符串,小h觉得一个名字如果是好名字,那么这个名字在这个串中既是前缀,又是后缀,即是这个名字从前面开始可以匹配,从后面开始也可以匹配,例如abc在 abcddabc中既是前缀,也是后缀,而ab就不是,可是长达4*10^5的字符让小h几乎昏过去了,为了给自己的小狗起个好名字,小h向你求救,并且他要求要将所有的好名字的长度都输出来。
Input一行,要处理的字符串(都是小写字母)。
Output一行若干个数字,从小到大输出,表示好名字的长度。
Data Constraintvar
a,b,c,ans:longint;
s:ansistring;
v,r:array[0..400000]of longint;
begin
//assign(input,'1.in');reset(input);
readln(s);
inc(ans);
r[ans]:=length(s);
for a:=2 to length(s)-1 do
begin
while (b>0)and(s[b+1]<>s[a]) do
b:=v[b];
if s[b+1]=s[a] then
begin
v[a]:=b+1;
inc(b);
end;
b:=v[a];
end;
v[0]:=-1;
while b>-1 do
begin
if s[b+1]=s[length(s)] then
begin
inc(ans);
r[ans]:=b+1;
end;
b:=v[b];
end;
for a:=ans downto 1 do
begin
write(r[a]);
if a<>1 then write(' ');
end;
close(input);
end.
相关知识
捉迷藏 Hide and Seek
touch炫舞情侣名 touch情侣名字推荐
正强化和负强化:概念、争议与神经机制
英语听力练习高级训练14:托人照看宠物
汉欧宠物食品公司狗猫粮罐头火腿代加工
#魔兽世界# 终...
甲氧氯
宠物正方观点指导
新北区:江苏省首个导盲犬训练基地在常成立
【图片】(原创
原文链接: seek https://m.mcbbbk.com/newsview756950.html
| 上一篇: 猫用英语怎么写? | 下一篇: 主人说小狗瘫痪要安乐死,兽医检查... |




