|
统计难题
Problem Description
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串.
注意:本题只有一组测试数据,处理到文件结束.
Output
对于每个提问,给出以该字符串为前缀的单词的数量.
Sample Input
bananabandbeeabsoluteacmbabbandabc
Sample Output
2310
Author
Ignatius.L
我的碎碎念:
上次周赛做到有个题目,是有关字典树的,因为没学过这个知识,当然最后没做出来,所以看书、博客学习了下。
可能是字典树比较简单,还是怎么的,书和博客上关于字典树的内容并不是非常的详细,感觉看完还是不太懂。 便想通过做题来加深理解。 这是做的第一个字典树的水题。 学习到的:
1.gets(数组名+1)
一般使用gets()是需要在其前面加上getchar()的,但从+1的开始便可以不使用getchar()了。
我反思了下自己觉得这个用法新奇的原因,不过是自己学的太死板了。 2.关于字典树 此代码中的y的大小随着你输入内容分的变化而变化。如,小写字母,26=max(y),大、小写字母,52=max(y),数字、大、小写字母,91=max(y)。 此代码中t[x].ch[y]用于记录树中不重复的点的个数。 此代码中的t[x].s便是用于记录重复个数的。 这两个的配合使用刚好完成字典树的功能。
|
HDU-1251统计难题(字典树)
最新推荐文章于 2021-11-09 00:20:03 发布