题目背景

在这世上有一乡一林一竹亭,也有一主一仆一仇敌。

有人曾经想拍下他们的身影,却被可爱的兔子迷惑了心神。

那些迷途中的人啊,终究会消失在不灭的永夜中……

题目描述

蓬莱山 辉夜(Kaguya)手里有一堆数字。

辉夜手里有 nn 个非负整数 a1​,a2​⋯an​,由于辉夜去打 Gal Game 去了,她希望智慧的你来帮忙。

  • 你需要将这些数分成若干组,满足 nn 个数中的每一个数都恰好被分到了一个组中,且每一组至少包含一个数。

定义一组数的权值为该组内所有数的异或和。请求出一种分组方案,使得分出的所有组数的权值之和最小,输出权值之和的最小值。

输入格式

输入的第一行包含一个正整数 n,表示给定的非负整数的数量。

接下来一行包含 n 个非负整数a1​,a2​⋯an​。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1

3
1 2 5

输出 #1

6

输入 #2

6
9 18 36 25 9 32

输出 #2

15

太菜了不懂异或和的一些性质,记一下a^b<=a+b,为什么呢

对每一位进行分析:

1^1=0    1+1=2

1^0=1    1+0=1

0^1=1    0+1=1

0^0=0    0+0=0

所以对于每个数来说,a^b<=a+b

#include<bits/stdc++.h>
using namespace std;
int n,a,x;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n;cin>>a;for(int i=2;i<=n;i++){cin>>x;a=a^x;}cout<<a;return 0;
}

P5514 [MtOI2019]永夜的报应相关推荐

  1. 洛谷 P5514 [MtOI2019]永夜的报应【数学/贪心】

    题目背景 在这世上有一乡一林一竹亭,也有一主一仆一仇敌.有人曾经想拍下他们的身影,却被可爱的兔子迷惑了心神.那些迷途中的人啊,终究会消失在不灭的永夜中-- 题目描述 蓬莱山 辉夜(Kaguya)手里有 ...

  2. P5514 [MtOI2019]永夜的报应(贪心)

    P5514 [MtOI2019]永夜的报应(贪心) 思路 因为对于两个正整数 a , b a,b a,b a ⊕ b ≤ a + b a\oplus b\le a+b a⊕b≤a+b 所以当两个分组的 ...

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

    链接 背景 \(disangan233\) ,迷途之家 \(2019\) 联赛 \((MtOI2019)\) \(T1\) , \(Luogu\) \(P5514\) 题意 给定 \(n\) 个 \( ...

  4. P5514 [MtOI2019]永夜的报应 题解

    博客园同步 原题链接 简要题意: 给定一个长度为 n n n 的序列 a a a,你需要将其分为若干组,使得每一组的异或之和最小.求这个最小值. 实际上这题是个结论题. 先考虑一个问题:对于一个数 x ...

  5. P5514 [MtOI2019]永夜的报应【题解】

    这是一道简单的数论(贪心)题 题目大意: 对于非负整数数列: a 1 , a 2 , a 3 . . . . . . a n a_1,a_2,a_3......a_n a1​,a2​,a3​..... ...

  6. P5514 [MtOI2019]永夜的报应(位运算)

    原题链接 大意: 给出 n 个 非负整数,这 n 个非负整数可以被分为任意组,定义每组的权值为每组的所有数的异或和,求出最小的所有组的权值和: 思路: 我们需要一个异或的一个非常重要的性质 a ^ b ...

  7. [MtOI2019]永夜的报应

    [MtOI2019]永夜的报应 这个题猛地一看其实是感觉非常难的. 但是,冷静分析一下,你会发现: 因为\(x \: xor \: y \le x + y\),所以说一个子序列一个子序列地异或和加起来 ...

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

    这道题的题面是幌子,其实稍稍验证一下就好了:(我在考场上竟将题面当作故事来读) 在样例 1 中, 1 xor 2 xor 5 = 6 ,而在样例 2 中, 9 xor 18 xor 36 xor 25 ...

  9. 【洛谷P5514】永夜的报应【模拟】

    题目大意: 题目链接:https://www.luogu.org/problem/P5514 给定一个长度为nnn的数列,把每一个数字分至一个组内.求每个组异或和之和的最小值. 思路: 因为亦或是不进 ...

  10. [MtOI2019]永夜的报应 题解

    题面 题面说的乱糟糟的看起来似乎是个可持久化线性基: 然而~ 一个式子搞定一切: a^b<=a+b 那么把所有数异或起来便是答案: #include <bits/stdc++.h> ...

最新文章

  1. 强化学习是针对优化数据的监督学习?
  2. 外贸常用术语_外贸英文用语,为邮件增光添彩
  3. 因缺失log4j.properties 配置文件导致flume无法正常启动。
  4. Windows Server 2008 R2远程设置选项灰色解决方法
  5. tableau可视化数据分析60讲(七)-工作表操作(长篇干货建议收藏!)
  6. java 编译开关_java – 字符串是关于开关的数字类型,并始终编译为lookupswitch?
  7. C++ Q16: dereferencing
  8. which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mod
  9. DCI架构是如何解决DDD战术建模缺点的?
  10. python机器学习之数据集(查看数据,划分训练集、测试集)
  11. 苹果手机键盘html代码大全,iPhone拨号键盘中的*和#有什么作用 iPhone特殊代码分享...
  12. matlab语言定义变量类型,matlab定义变量-MATLAB,变量
  13. 《私募股权基金投资基础知识》---第一章
  14. 怎样批量替换Word中的文字?这一招Word文字替换技巧你会吗
  15. php receivemail下载,php receivemail,php mail,preceive
  16. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8)
  17. 聚合API文档阅读帮助
  18. contourf的colorbar如何设置显示范围
  19. 先验概率与后验概率及贝叶斯公式
  20. 怎么用计算机算出一个人的生日,怎样才能在网上查到一个人的生日

热门文章

  1. 数据库管理员、系统分析员、数据库设计人员,应用程序员的职责是什么?
  2. android u盘怎么打开文件夹图标不显示不出来了,U盘图标显示不正常怎么办,U盘图标怎么显示出来...
  3. Visual SourceSafe 2005 简体中文语言包
  4. 从Altium官方网站下载库文件
  5. java导出文件到excel文件怎么打开_java导入、导出Excel文件
  6. windows下安装Bugzilla 2.18
  7. Windows备份文件夹脚本.bat
  8. 一次看过瘾!中国摩博会的“钢铁怪兽”你最爱哪辆?
  9. android 代码设置 键盘适应_MTK6577+Android之按键(key)修改
  10. python span 抓取_如何用python爬取两个span之间的内容