文章目录

  • 题目
    • 输入描述
    • 输出描述
    • 解释
  • 题解
    • 构造线性基
    • 选择最大值
    • 推荐学习博客
  • 闲话

题目

“桃红复含宿雨,柳绿更带朝烟。”
临近毕业,三大桃花花开十里,香色满园……小R颓然无奈,乱写桃花十万枝(绘十万幅桃花图),以此怀念母校。虽绘有桃花图十万,终是不够唯美。若汇集十万桃花图,未尝不能得到一幅三大唯美画卷。
但每一幅桃花图皆是不同, 单纯把十万只桃花汇集在一起,未必是最完美的搭配方式。小R发现,每一幅桃花图自己本身就具有一个美丽值(美丽值越高,桃花图就越是美丽), 如果把两幅桃花图搭配在一起,那得到的新桃花图的美丽值就是两幅桃花图的美丽值异或(XOR)后的结果。如果有两幅桃花图的美丽值分别为 3和5。那两幅桃花图的美丽值就是6。
小R想知道,最美的“桃花图”的美丽值是多少?

插一个小的问题:有没有觉得我们学校还是有那么点漂亮的?

输入描述

输入仅占一行,十万个数字,代表十万幅桃花图的美丽值。(桃花图的美丽值皆在0~100000000之间)

输出描述

输出最美的 “三大桃花图”的美丽值。

解释

1,假设有五幅桃花图的美丽值为1,2,3,4,5。可选择1,2,4三幅图进行异或,也可选择2,5两幅图等方式进行异或。最终结果都为7,只需输出7即可。

2,两个数进行异或(XOR)运算,即取两个数的二进制,按每一位进行异或,1异或0取1,0异或0取0,1异或1取0。(若3和5异或(3(011)异或5(101)得6(110))

题解

一开始对这个题目还是有点懵的,没有接触过
这个主要的思想是线性基
线性基具有三大性质(看懂了基本也会懂得什么叫线性基了):

  1. 原序列里面的任意一个数都可以由线性基里面的一些数异或得到
  2. 线性基里面的任意一些数异或起来都不能得到 0
  3. 线性基里面的数的个数唯一,并且在保持性质一的前提下,数的个数是最少的

异或的性质

  • 交换律:A ^ B = B ^ A;
  • 结合律:A ^ (B ^ C) = (A ^ B) ^ C;
  • 恒等律:X ^ 0 = X;
  • 归零律:X ^ X = 0;
  • 自反:A ^ B ^ B = A ^ 0 = A;
  • 对于任意的 X: X ^ (-1) = ~X;
  • 如果 A ^ B = C 成立,那么 A ^ B = C,B ^ C = A;

我来分别解释这三个性质:
性质1

你可以这么理解,线性基是原集合的真子集,但是原集合的所有数都可以用线性基这个集合里面的元素来表示
理由你可以通过上面的异或的性质七来推得

性质2

意思就是线性基任何子元素进行异或都不会得到0,证明起来也挺简单的
反证法:
如果A^B ^ X=0—> A ^ B=X(两边同时异或X) 那么此时就会有一个矛盾,
因为A,B,X你都是不同时间段选择进入线性基这个集合里面,假设先进入的数是A,B 那么其实到最后X是无法进入的,所以说A,B,X不是线性基的子集.

性质3

在性质1的理解基础上,理解性质3就更快了
因为我要满足性质1,所以就导致每一个能用线性基表示的数就不能进入到这个集合里面,如果少了一个数,那么同时也会导致原集合的某些数将不能用线性基去表示,所以线性基不能多,也不能少,那么数目就是唯一.

构造线性基

void add(long long  x){for(int i=30 ;i>=0;i--)//i代表的线性基X二进制的位数,从高位开始{if(x&(1<<i))//x不能为0 x的第j位为 1{if(d[i]) x^=d[i];else {d[i]=x;break;}}}
}

选择最大值

其实选的是一列数的异或后的最大值
思路就是贪心的思想

long long ans(){long long anss=0;for(int i=30 ;i>=0;i--){if((anss^d[i])>anss) anss^=d[i];}return anss;
}

推荐学习博客

博客1
博客2

闲话

好久没有写算法了,真的太生疏了,而且很多都只是记忆只有一个大概!打校赛的时候都是模拟写题!哎太菜了!为了尽量让自己的算法不冷下去,后面我会每周进行一个算法的专题的更新
大家好我是大一小菜鸡,又菜瘾还大!!!

三峡大学校赛----十万桃花图(线性基)相关推荐

  1. ZSTU2019校赛 Problem D Lis(线性基dp)

    我的做题思路参考的是这位大佬(代码就把他的抄了一遍) https://blog.csdn.net/kzn2683331518/article/details/88768657 题面: 令LIS(S)为 ...

  2. 【BZOJ3569】DZY Loves Chinese II(线性基,图的连通性)

    Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上 ...

  3. 【BZOJ 4671】异或图 【斯特林反演】【线性基】【贝尔数复杂度】

    传送门 题意:定义两个图的异或的边集为在两张图中恰出现一次的边.给sss张nnn个点的图的集合,求异或和为连通图的子集数. s≤60,n≤10s \leq 60,n \leq 10s≤60,n≤10 ...

  4. YbtOJ-连通的图【结论,线性基】

    正题 题目大意 给出nnn个点n+k−1n+k-1n+k−1条边的一张图,求有多少种删除若干条边的方案使得图依旧联通. 1≤n≤105,1≤k≤101\leq n\leq 10^5,1\leq k\l ...

  5. 2019牛客多校第四场 B xor (线性基求交)

    xor 思路 题目是要求[l,r][l, r][l,r]的所有集合是否都可以得到xxx,那么显然我们可以对这[l,r][l, r][l,r]个线性基求交,然后再特判能否xxx能否插入,如果能插入,显然 ...

  6. 2017 ICPC西安区域赛 A - XOR ,线段树合并线性基

    题目链接:A - XOR 题意;给个数组,每次询问一个区间你可以挑任意个数的数字异或和 然后在或上k的最大值 题解:线性基不知道的先看这个,一个线性基可以log的求最大值把对应去区间的线性基求出来然后 ...

  7. 【2019牛客暑期多校训练营(第一场) - H】XOR(线性基,期望的线性性)

    题干: 链接:https://ac.nowcoder.com/acm/contest/881/H 来源:牛客网 Bobo has a set A of n integers a1,a2,-,ana1, ...

  8. 2017 ICPC西安区域赛 A - XOR (线段树并线性基)

    链接:https://nanti.jisuanke.com/t/A1607 题面: Consider an array AA with n elements . Each of its element ...

  9. 【电赛】电设校赛常用电路整理

    电设校赛常用电路整理 写在前面 引用与致谢 单电源供电集成运放 电压比较器 单限比较器 过零比较器 改进:限制幅度和设置偏置 滞回比较器 窗口比较器 波形发生与变换 正弦波 RC正弦振荡电路 LC正弦 ...

  10. 长沙学院2021校赛

    长沙学院2021校赛 A.小圆前辈去上学 题目 思路 代码 B.小圆前辈的素数 题目 思路 CODE C.小圆前辈去爬山 D.小圆前辈的魔法 题目 思路 代码 E.小圆前辈的排列组合 题目 思路 代码 ...

最新文章

  1. 目标检测旋转增强源码
  2. rm删除文件显示:Operation not permitted
  3. Python:pathlib库使用方法
  4. android module驱动编程及通信
  5. Java_键盘输入语句
  6. Linux C++(QT) 下获取 CPU 序列号(processor serial number)
  7. 商品期货日内 Dual Thrust 交易策略
  8. Android实现蝴蝶动画,抖音蝴蝶特效怎么弄的?抖音最近很火的蝴蝶特效制作|安卓手机给视频添加蝴蝶特效...
  9. drupal与html转换,HTML转Drupal主题的方法
  10. Windows 10 21H2正式版镜像
  11. tvp5150 gm7150配置
  12. Echarts折线图的平移假动画
  13. has been blocked by CORS policy: Response to preflight request doesn‘t pass access control
  14. 学习笔记15--环境感知传感器技术之超声波雷达
  15. html代码圣诞树位置代码,html 圣诞树(示例代码)
  16. Python实战——ESIM 模型搭建(keras版)
  17. 从G1到G16 HTC Android帝国超级大盘点
  18. vue将json字符串转换为数组_json字符串、json对象、数组 三者之间的转换
  19. Illegal line end in string literal
  20. Philosophy

热门文章

  1. Promethues原理详解
  2. 入选全球灯塔工厂 西部数据践行可持续发展承诺
  3. Linux_加密和安全详细介绍
  4. Gentoo Linux 快速安装记录
  5. 善于抓住80后消费者的消费心理
  6. 【嵌入式软件开发】之面试常识(一)
  7. 大学c语言机试是老师阅卷么,最近,我们找了一些老师聊了聊
  8. The YARN Timeline Service v.2
  9. mysql 语法大全
  10. Swing Copters摇摆直升机高分攻略,游戏攻略