- 3
- 0
- 约1.36千字
- 约 25页
- 2020-02-24 发布于上海
- 举报
位运算及其对程序的优化;序言;正文;一、位运算的基本操作;由上面的介绍,我们不难发现这些位运算的基本用途:;2.位运算的优先级;3.例题;二、位运算的实用技巧;2.位运算的一些技术;三、位运算对一些数据结构的优化;3.集合;例题;;这里用整数来表示猪舍的有无情况,这样最大可以有1000个二进制位,于是还要分段处理。不妨每段用一个64位的qword,把1000总共分成16段,对于每个猪舍编号k,先判断是哪一段的(用(k-1)div 64+1,可以写成shr 6加速),然后再在那一段进行赋值。于是,对于两段猪舍,看有??交集,只需要and一下,看是不是0就可以了。这样,我们把预处理的时间复杂度降到了O(100*100*16)。
;例3、某山贼集团在绿荫村拥有强大的势力,整个绿荫村由N个连通的小村落组成,并且保证对于每两个小村落有且仅有一条简单路径相连。小村落用阿拉伯数字编号为1,2,3,4,…,n,山贼集团的总部设在编号为1的小村落中。山贼集团除了老大坐镇总部以外,其他的P个部门希望在村落的其他地方建立分部。P个分部可以在同一个小村落中建设,也可以分别建设在不同的小村落中。每个分部到总部的路径称为这个部门的管辖范围,于是这P个分部的管辖范围可能重叠,或者完全相同。在不同的村落建设不同的分部需要花费不同的费用。每个部门可能对他的管辖范围内的小村落收取保护费,但是不同的分部如果对同一小村落
原创力文档

文档评论(0)