Description
给定n个数,每次可以选择两个数a,b,将其中一个变为a and b,另一个变为a or b
最大化所有数的平方和
n<=10^5,maxnum<2^20
Analysis
注意:a and b+a or b=a+b(相当于二进制位上1的移动)
所以无论怎么操作,总和一定,且数差的越大越优
统计每个二进制位上1的个数就能贪心组数了
O(nlogmaxnum)
给定n个数,每次可以选择两个数a,b,将其中一个变为a and b,另一个变为a or b
最大化所有数的平方和
n<=10^5,maxnum<2^20
注意:a and b+a or b=a+b(相当于二进制位上1的移动)
所以无论怎么操作,总和一定,且数差的越大越优
统计每个二进制位上1的个数就能贪心组数了
O(nlogmaxnum)