hihoCoder
文章平均质量分 52
Nickqiao
这个作者很懒,什么都没留下…
展开
-
HihoCoder第四周(Trie图)
问题河蟹先生将要给与他们一篇从互联网上收集来的文章,和一本厚厚的河蟹词典,而他们要做的是判断这篇文章中是否存在那些属于河蟹词典中的词语朴素方法:枚举每一个单词,然后枚举文章中可能的起始位置,然后进行匹配,看能否成功。如果说词典的词语数量为N,每个词语长度为L,文章的长度为M,时间复杂度O(M*N*L) 利用trie树的优化方法:对字典建立trie树,判断是否从某个起始位置开始的一段字符(也就是从这原创 2017-05-11 23:42:16 · 400 阅读 · 0 评论 -
HihoCoder第二周(字典树)
题目输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词,单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词。接下来的一行为一个正整数m,表示询问的次数,其后m行,每一行一个字符串,该字符串由不超过10个的小写英文字母组成,表示一个询问。对于每一个询问,输出一个整数Ans,表示词典中以给出的字符串为前缀的单词的个数。样例输入 5 babaab b原创 2017-05-09 23:45:44 · 366 阅读 · 0 评论 -
HihoCoder第十周——已知前序中序求后序
思路我们定义post_order(str1, str2)为一棵前序遍历的结果为str1,中序遍历的结果为str2的二叉树的后序遍历的结果。 如果要求解post-order(str1, str2)的话,首先不难发现,根据‘前序遍历’str1=‘根节点’+‘左子树的前序遍历’+‘右子树的前序遍历’,我可以知道这棵二叉树的根节点root便是str1的第一个字符。 在知道了‘根节点’root之后,便可以原创 2017-07-17 21:48:55 · 329 阅读 · 0 评论 -
HihoCoder第十二周——树上DP
刷油漆 题目 给定一棵树,每个节点有一个权值,将包含1号结点的一部分连通的结点进行涂漆(这里的连通指的是这一些涂漆的结点可以互相到达并且不会经过没有涂漆的结点),使权值和最大。 分析 f(t, m)表示,在以t为根的一棵树中,选出包含根节点t的m个连通的结点,能够获得的最高的评分,然后我们的答案就是f(1, M)。 针对于每一个t,同时求解它的f(t, 0..M),这样的话,我就原创 2017-08-18 22:39:03 · 438 阅读 · 0 评论