特里如何解决以下问题?

问题描述 投票:-3回答:1

有N块石头上写有非负整数x0,…,xN-1,其中N是偶数。我们将石头分成N / 2对,每个石头恰好属于一对。对于每对,我们通过将xi和xj中的每一个以二进制形式写入,取每对对应位的异或,并将结果位解释为二进制数来计算xi XOR xj。我们将所有结石对的值xi XOR xj相加。任务是在给定宝石的所有可能配对中找到该总和的最小可能值。此外,您将找到达到此最小总和的结石配对数。如果一个配对有一对石头,而另一个则没有,则两个配对被认为是不同的。即使两个石头具有不同的索引,也可以认为它们是不同的,即使它们上面写的值相同。成对的顺序和每对内部结石的顺序并不重要。由于此类配对的数量可能很大,因此请以模数109 + 7输出]

。输入

第一行包含一个偶数N,结石数,满足2≤N≤74。第二行包含写在石头上的N个数字x0,…,xN-1。每个数字满足0≤xi≤1000

。输出

输出包含由空格分隔的两个数字的一​​行:xi对的最小可能总和对所有配对进行XOR xj,以及达到此最小和模109 + 7的配对数。

有N块石头上写有非负整数x0,…,xN-1,其中N是偶数。我们将石头分成N / 2对,每个石头恰好属于一对。对于每对,...

c++ algorithm trie
1个回答
0
投票
struct
{
 int count;
 struct trie* child[2];
}
© www.soinside.com 2019 - 2024. All rights reserved.