首页 > TAG信息列表 > 永夜
P5514 [MtOI2019]永夜的报应
题意描述 [MtOI2019]永夜的报应 将 \(n\) 个数任意分组,组内进行异或操作,组外进行加法操作,求最小结果。 算法分析 签到好题。 可以证明 \(a\) ^ \(b \leq a+b\)。 所以直接将所有数分一组即可。 代码实现 #include<cstdio> using namespace std; int read(){ int x=0,f=1;char c=P5514 永夜的报应(异或,数学)
P5514 永夜的报应 做kruskal重构树腻了,来拓展下视野。。。 题目描述 定义一组数的权值为该组内所有数的异或和. 请求出一种分组方案,使得分出的所有组数的权值之和最小,输出权值之和的最小值. 题目解析 我们知道异或运算的基本法则:同号则为假,异号则为真. 不妨对每一位进行分$Luogu$ $P5514$ $[MtOI2019]$ 永夜的报应
链接 背景 \(disangan233\) ,迷途之家 \(2019\) 联赛 \((MtOI2019)\) \(T1\) , \(Luogu\) \(P5514\) 题意 给定 \(n\) 个 \(int\) 范围内的整数,将其中每个数分至某一组后,使得各组内数异或和之和最小的异或和之和。 解法 假设所有数的异或和在 \(2^t\) 位为 \(0\) ,那么分到一组对答案