【NOIP2017提高A组模拟9.14】生命之树 trie+启发式合并
题目做法先给这一颗树按照dfs序重新编号,可以发现一个点对它的某一个父亲的贡献就是其与所有编号小于他的点的贡献和,那么我们可以考虑从叶子节点开始,逐步往上计算每一个点的答案
考虑建一些trie树,把二进制的每一个位挂在trie的一些节点上,那么我们就可以在遍历trie的同时把贡献式中的乘法转换为加法
假设我们现在做到点i,那么我们就要把i点的儿子们对应的trie树合并,考虑用启发式合并,在合并的
原创
2017-09-15 22:27:05 ·
410 阅读 ·
0 评论