P9364 Perfect Word

传送门

本题有两种解法。

第一种是先对字符串按长度从大到小排序,直接枚举每个字符串的所有子串,判断这些子串是否在给定的字符串里。实现时用 map 或者其他你喜欢的容器预先存储每个给定的字符串即可,跑得很快。

第二种是写一个字典树,对字符串从小到大排序后,对于长度为 \(1\) 的字符串,直接插入;否则对于长度为 \(len\) 的字符串,假设下标从 \(1\) 开始,则扫 \(1 \sim len-1\) 位和 \(2\sim len\) 位看在不在树上。如果在树上,就将其插入树,更新答案;否则结束程序。由于这相当于是递推的过程,所以是正确的,但跑得稍慢。

如有不足,还请指出。

posted @ 2025-07-20 10:29  Tiger_Rory  阅读(237)  评论(0)    收藏  举报
//雪花飘落效果