首页 > 其他分享 >[ABC360B]Vertical Reading

[ABC360B]Vertical Reading

时间:2024-07-10 16:45:35浏览次数:15  
标签:输出 这个 Vertical 字符 No 枚举 leq ABC360B Reading

题解

这个题看起来很好做,有两个字符串S和T,如果T的每个字符,都能在S中找到,同时要满足以下条件:将S串分割成w段,每一段的第c个字符组成T,如果可以的话,就输出Yes,否则输出No
\(1 \leq c \leq w<|S|\)

错误思路

刚开始,我的思路是找到T的每个字符在S中的位置,如果这些位置能够每隔W个的话,就输出Yes,否则输出No
但是我这个一直错,为什么呢?这个做法首先非常繁琐,讨论起来非常繁琐,其次是,这个做法就是错的,为什么呢?
这里,我并没有考虑有重复字母的情况,比如T字符是af,假设S串中含有3个f,那T串中的f到底是和S中的哪个f匹配,所以这个做法本身就是错的,

正确错误

回到最基础的枚举,因为S的长度非常小, \(|S| \leq 100\),所以我们枚举w,枚举c,组成新的字符串TT,看一下TT和T是否相同,这个题就完成了

小疏漏

我在枚举c的时候,把范围写成[0,|S|],但是这个是错的,应该是[1,w],如果写成第一个范围的话,会使得第一个分割串的长度就大于w了,是错误的,我因为这个一直错

标签:输出,这个,Vertical,字符,No,枚举,leq,ABC360B,Reading
From: https://www.cnblogs.com/sdfzls/p/18294396

相关文章