还可以字典树??
题意
给你两个序列,第三个序列是由已知的两个序列对应位置异或而成,现在让你重新安排两个序列的位置,使得异或之后的第三个序列字典序最小。
思路
字典树真是万万没想到,我们把每个数字拆成二进制的形式建字典树,这样对两个序列能够建立两棵树,然后运用贪心思想,能够0,0或者1,1异或就先它们异或,这样进行下去,最后还要记得排序,因为每一步形成的数字不一定是当前步的最优解。同时注意这题初始化不要全初始化,用到某个节点,我们再对某个节点初始化,否则会T
1 |
|
云腾致雨,露结为霜
还可以字典树??
给你两个序列,第三个序列是由已知的两个序列对应位置异或而成,现在让你重新安排两个序列的位置,使得异或之后的第三个序列字典序最小。
字典树真是万万没想到,我们把每个数字拆成二进制的形式建字典树,这样对两个序列能够建立两棵树,然后运用贪心思想,能够0,0或者1,1异或就先它们异或,这样进行下去,最后还要记得排序,因为每一步形成的数字不一定是当前步的最优解。同时注意这题初始化不要全初始化,用到某个节点,我们再对某个节点初始化,否则会T
1 | #include <iostream> |