Related
In following contests:
01字典树模板题。
首先我们来考虑 假设我们有一个数x,计算在字典树内的哪些数是合法的答案。
这里我们先从高位开始匹配,假设我们匹配到第i - 1位且x与当前匹配到的前缀的差异值等于相似值。
那么当x的第i位为1时,我们可以选择当前树上节点的0这个分支,这会让后续选择的差异值始终大于相似值(因为之前是相等的)
当x的第i位为0时,我们可以选0, 此时差异值与相似值还是相等的,我们也可以选1,此时子树内所有的数差异值大于相似值。
设 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 , 其中 ∧ 表示异或运算, & 表示与运算。
In following contests:
本题属于以下题库,请选择所需题库进行购买
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.