数据结构-字典树
西行妖下的亡灵
这个作者很懒,什么都没留下…
展开
-
HDU4825 Xor Sum(异或和)(01字典树)
首先:01字典树是一种特殊的字典树形式,它的所有节点(除了每条链最底层的子结点)所包含的值都是0或1,也就是要把一个数字拆成二进制的形式才能存入链中。而在字典树的末端都会有一个节点存储了一个数的十进制形式,也就是从上到下各个01的组合可以组成的数字。这个数据结构可以用来求最大异或和所对应的元素或者最大异或和本身。 为什么可以这么说呢?因为当查询当前数字和树内某个数可以产生最大异或值时,查询总是向...原创 2019-07-29 23:51:02 · 255 阅读 · 0 评论 -
prefix
本题是要求你找出一个组内比原字符串权值大的前缀,而一个组内包含了其他字符串的前缀,但可能也适配于这个字符串。所以说要记录这些前缀的个数才能解出这个问题。 一个方法是用std::map这样的一个红黑树字典,可以直接把string类型的前缀出现次数用int/ll类型的数字统计下来。然后再计算各前缀的权值与个数之积,逐一与原字符串权值进行比对,即可得到答案。 #include <iostre...原创 2019-07-28 23:36:10 · 317 阅读 · 0 评论