其他分享
首页 > 其他分享> > NOI2022 挑战 NPC Ⅱ(哈希-树,dfs)

NOI2022 挑战 NPC Ⅱ(哈希-树,dfs)

作者:互联网

NOI2022 挑战 NPC Ⅱ

给两棵树大小差 \(k \le 5\),问能不能通过删 \(k\) 个叶节点使两棵树同构。

CODE

先预处理两棵树所有子树哈希值(这里用的是 xorshift,也可以用括号,用质数会碰撞)直接 bool match(u, v) 表示匹配两棵树上的 \(u, v\) 两点。如果两点的子树哈希值归并排序后不能抵消的对数 \(d = 1\),直接继续匹配子树。否则,枚举排列匹配第一棵树和第二棵树。时间复杂度是 \(\Theta(n(120 + \log))\) 的。

赛时脑子出问题了想不到啊。还好打了这题的无脑 \(80\) 分。

标签:子树,匹配,NPC,NOI2022,dfs,哈希,两棵树
来源: https://www.cnblogs.com/Pizza1123/p/16695651.html