- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
位运算最小生成树.PDF
位运算最小生成树
目录
Ⅰ. 问题定义 1
Ⅱ. 基本解法 1
Ⅲ. 通解通法 2
一. 基本思路 2
二. 对于 XOR 2
三. 对于 AND 2
四. 时间复杂度分析 3
五. 代码参考 3
Ⅳ. XOR 的特殊解法 3
Ⅴ. AND 的特殊解法 4
一. 基本思路 4
二. 优化思路 4
三. 代码参考 4
Ⅵ. 参考文献 4
Ⅰ. 问题定义
m 1
有 n 个点,第 i 个点有点权 a ,0≤a <2 。边 E(i,j) 的边权为
i i
f(a ,a)。f(a,b)表示一个位运算,一般为 AND 或者 XOR。求这张图
i j
2
的最大/最小生成树。
Ⅱ. 基本解法
除边权跟位运算有关,这类题目说到底还是 MST 问题,座椅
可以暴力建出这些边,然后跑 Prim 或者 Kruskal。但因为边数可
1 任意两点之间都存在边,所以这是一张完全图
2 注意!边权与边权之间是相加,不再是位运算
2
能会达到 O(n )的级别,所以该种解法局限性非常大
Ⅲ. 通解通法
一. 基本思路
3
因为是 MST 问题,所以可以考虑 Borůvka 算法 。所以现
在的问题转换为:给每一个值分配一个颜色,给定一个值 a ,
x
如何在{a }中找到一个异色的 a 使 f(a ,a )最大。
i y x y
二. 对于 XOR
因为对于位运算,二进制下每一位相对独立,所以考虑 Trie。
对于每一轮连边,我们新建一棵 Trie,将每一个数转化成二
进制,然后插入到 Trie 中。同时在 Trie 中,记录每一个点的
子树中颜色的最大值和最小值。
然后对于每一个点,直接在 Trie 中查询即可
三. 对于 AND
基本思路与 XOR 相同,但是如果我们正在查询 ai,其第 j
位为 0,这样的话,0/1 这两棵子树我们都需要进入。这样的
话,时间复杂度就没有保障了。
所以我们在建好 Trie 树后,还需要把所有 1 的子树给合并
3 不了解 Borůvka 的话,可以去看看 wikipedia 或者在我的 blog 上搜一搜
到 0 的子树中去。
这样的话,无论情况如何,我们都只用进入一棵子树了
四. 时间复杂度分析
运行 Borůvka 算法时需要 log(n)波连边
每一次连边需要建一棵 Trie 树,每一次建树复杂度为 O(n*m)
之后需要使用并查集来连每一条边,复杂度为 O(α(n)*
您可能关注的文档
最近下载
- 压型钢板上电气预埋管施工工法.pdf VIP
- TB∕T 3516-2018 CTCS-2级列控系统总体技术要求.pdf VIP
- (完整版)汉密尔顿焦虑量表(hama).pdf VIP
- 铁路行车规章PPT课件(共7章)项目七--高速铁路行车规章.pptx VIP
- 三升四暑假每日一练.pdf
- 设计院服务承诺及质量保证措施(最新).docx VIP
- 化学实验室安全隐患排查台账.docx VIP
- 2021年3月28日多省(市、区)公务员联考 《公安专业科目》考试真题及答案 .docx VIP
- TB/T 3510-2018 - 列控中心接口规范.pdf VIP
- 光伏并网逆变器调试报告光伏并网逆变器调试报告.doc VIP
文档评论(0)