会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
01字典树模板题。
首先我们来考虑 假设我们有一个数x,计算在字典树内的哪些数是合法的答案。
这里我们先从高位开始匹配,假设我们匹配到第i - 1位且x与当前匹配到的前缀的差异值等于相似值。
那么当x的第i位为1时,我们可以选择当前树上节点的0这个分支,这会让后续选择的差异值始终大于相似值(因为之前是相等的)
当x的第i位为0时,我们可以选0, 此时差异值与相似值还是相等的,我们也可以选1,此时子树内所有的数差异值大于相似值。
P1261.2023.04.28-od-第三题-二进制差异数
题目内容
设 A 和 B 的二进制表示为 an,an−1,⋯,a1 和 bn,bn−1,⋯,b1 ,其中 ai,bi∈{0,1} ,
则它们的差异值为 ∑i=1n(ai∧bi)2i−1 ,
相似值为 ∑i=1n(ai & bi)2i−1 , 其中 ∧ 表示异或运算, & 表示与运算。