首页 > TAG信息列表 > P5514

P5514 [MtOI2019]永夜的报应

题意描述 [MtOI2019]永夜的报应 将 \(n\) 个数任意分组,组内进行异或操作,组外进行加法操作,求最小结果。 算法分析 签到好题。 可以证明 \(a\) ^ \(b \leq a+b\)。 所以直接将所有数分一组即可。 代码实现 #include<cstdio> using namespace std; int read(){ int x=0,f=1;char c=

洛谷 题解 P5514 【[MtOI2019]永夜的报应】

这道题的题面是幌子,其实稍稍验证一下就好了:(我在考场上竟将题面当作故事来读) 在样例 1 中, 1 xor 2 xor 5 = 6 ,而在样例 2 中, 9 xor 18 xor 36 xor 25 xor 9 xor 32 = 15 。所以,我们很容易的得到,答案就是所有数的异或和。(不信的话自己举例子) 所以,我们得到

P5514 永夜的报应(异或,数学)

P5514 永夜的报应 做kruskal重构树腻了,来拓展下视野。。。 题目描述 定义一组数的权值为该组内所有数的异或和. 请求出一种分组方案,使得分出的所有组数的权值之和最小,输出权值之和的最小值. 题目解析 我们知道异或运算的基本法则:同号则为假,异号则为真. 不妨对每一位进行分

$Luogu$ $P5514$ $[MtOI2019]$ 永夜的报应

链接 背景 \(disangan233\) ,迷途之家 \(2019\) 联赛 \((MtOI2019)\) \(T1\) , \(Luogu\) \(P5514\) 题意 给定 \(n\) 个 \(int\) 范围内的整数,将其中每个数分至某一组后,使得各组内数异或和之和最小的异或和之和。 解法 假设所有数的异或和在 \(2^t\) 位为 \(0\) ,那么分到一组对答案