标签:子树 匹配 NPC NOI2022 dfs 哈希 两棵树
给两棵树大小差 \(k \le 5\),问能不能通过删 \(k\) 个叶节点使两棵树同构。
先预处理两棵树所有子树哈希值(这里用的是 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。