题目大意
现有一个序列An,每个元素都是64位无符号整数,有两种操作。
- 将数Ai在二进制下右移x位。比如将
9211 右移10位变成4273995784 - 输出Ax与Ay异或的结果
现在给出每个二号操作的结果,要求还原出原来的序列,求字典序最小的解或输出无解。
分析
考虑到每一位之间都是相对独立的思路就十分明显了。
异或该位为0或
其实这个过程直观地来想是个bfs的染色。然而空间卡得非常非常死,而并查集二分图染色就很好地解决了这个问题。
需要注意的
如何卡空间。
现有一个序列An,每个元素都是64位无符号整数,有两种操作。
现在给出每个二号操作的结果,要求还原出原来的序列,求字典序最小的解或输出无解。
考虑到每一位之间都是相对独立的思路就十分明显了。
异或该位为0或
其实这个过程直观地来想是个bfs的染色。然而空间卡得非常非常死,而并查集二分图染色就很好地解决了这个问题。
如何卡空间。