G64【模板】线性基 贪心法 P3812 最大异或和

news/2024/10/6 19:43:31/文章来源:https://www.cnblogs.com/dx123/p/18284224

视频链接:

 

 

 

P3812 【模板】线性基 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 线性基 O(63*n)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;typedef long long LL;
int n;
LL p[64];void insert(LL x){ //贪心法for(int i=63;i>=0;--i){if(x>>i&1){  //x第i位为1if(p[i]){  //已存在p[i]x^=p[i];}else{ //不存在p[i]p[i]=x; break;}}}
}
int main(){scanf("%d",&n);for(int i=0;i<n;i++){LL x; scanf("%lld",&x);insert(x);}LL ans=0;for(int i=63;i>=0;i--) ans=max(ans,ans^p[i]);printf("%lld\n",ans);
}

 

// 线性基 O(63*n)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;typedef long long LL;
int n,k;
LL p[64];void gauss(){ //高斯消元法for(int i=63;i>=0;i--){// 把当前第i位是1的数换上去for(int j=k;j<n;j++)if(p[j]>>i&1){swap(p[j],p[k]); break;}// 当前第i位所有向量都是0if((p[k]>>i&1)==0) continue;// 把其他数的第i位全部消为0for(int j=0;j<n;j++)if(j!=k&&(p[j]>>i&1)) p[j]^=p[k];// 基的个数+1k++; if(k==n) break;}
}
int main(){scanf("%d",&n);for(int i=0;i<n;i++)scanf("%lld",&p[i]);gauss();LL ans=0;for(int i=0;i<k;i++) ans^=p[i];printf("%lld\n",ans);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/740821.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

相机的标定

Camera-calibration 用于矫正相机的畸变代码部分 #打开摄像头,将读取的视频保存在本地,名字叫output.avi# coding=utf-8 import cv2 as cv cap = cv.VideoCapture(0) # 检查是否成功打开摄像头 if not cap.isOpened():print("Cannot open camera")exit() # 获取摄像…

关于golang函数传参问题

今天在写leetcode的一个简单问题的时候发现golang的切片传递并不是直接 传递地址的,而是一个地址副本。如图所示,当我利用test函数对nums1和nums2数组处理时,并不是对原来的nums1和nums2做处理,而是对他们的副本nums1_temp和nums2_temp做处理,但是nums1_temp和nums1都指向…

PN转Modbus RTU模块连接ACS4QQ变频器通信

巴图自动化PN转Modbus RTU模块(BT-MDPN10)的主要功能是实现Modbus协议和Profinet协议之间的转换和通信。PN转Modbus RTU模块集成了Modbus和Profinet两种协议,支持Modbus RTU主从站,可连接变频器、智能高低压电器、功率测量设备等RS485/232接口设备。一台完整的机器在出厂前由…

RS232转PN协议网关模块连接PLC和霍尼韦尔条码扫描器通信

利用RS232转PN协议网关(BT-PNR20)模块连接PLC与条码扫描器,通过配置RS232转PN协议网关(BT-PNR20)模块连接PLC与条码扫描器参数实现高效通信,提高生产效率,降低人工干预成本。涉及设备准备、硬件连接、配置步骤和监控设置。为了更快地输入信息,许多设备都配备了条码扫描…

vscode 远程连接 Ubuntu (SSH)

vscode ssh Ubuntu 流程及一些常见问题的解决安装对应的拓展包显示所有的命令(Ctrl+Shift+p)获取虚拟机的ip sudo apt install net-tools ifconfig进行连接如果连接的时候报错(管道不存在) 在Ubuntu中打开ssh服务即可如果连接了很久没有连上(Permission denied (publickey…

2024已过半,还没试过在vue3中使用ioc容器吗?

Zova 是一款支持 IOC 容器的 Vue3 框架。有了 IOC 容器的加持,定义响应式状态不再需要ref/reactive,也不再需要ref.valueVue3 已经非常强大和灵活了,为什么还要引入 IOC 容器呢?IOC 容器离不开 Class,那么我们就从 Class 谈起 Class的应用场景 一提起 Class,大家一定会想…

cpp查错误

使用Windows事件查看器调试崩溃 https://www.cnblogs.com/yilang/p/11993912.html1、2、生成.map看函数地址 3、map里找不到0xc0000409 4、 搜 异常代码 0xc0000409 5、堆栈设置

Vue3 如何接入 i18n 实现国际化多语言

如何在现有 Vue 3.0 + Vite 项目中,引入 i18n 实现国际化多语言,可以手动切换,SEO友好,且完整可用的解决方案。1. 基本方法 在 Vue.js 3 中实现网页的国际化多语言,最常用的包是 vue-i18n,通常我们会与 vue-i18n-routing 一起使用。 vue-i18n 负责根据当前页面的语言渲染…

【安全运营】企业钓鱼演练实践

一、 群智集锦 问:请教各位师傅个问题,你们多长时间做一次钓鱼演练?答:全员型的半年一次,小范围的一个季度一次;答:我们内部每月都有做钓鱼演练,主要针对新员工,钓鱼主题一般不改变,针对全员的时候会换一下套路;问:请教个问题,大家进行钓鱼演练统计是怎么统计展示…

植物大战僵尸 杂交版

下载地址:https://download.csdn.net/download/hello_hlqk/89525708?spm=1001.2101.3001.9500 植物大战僵尸杂交版是一款由B站UP主 @潜艇伟伟迷 基于原版植物大战僵尸魔改的塔防类游戏。这款游戏在保留原有游戏精髓的基础上,进行了大胆的创新和尝试。UP主将不同的植物进行了…

Modbus转Profibus模块连SmartPLC接汇川630伺服案例

Modbus转Profibus模块(XD-MDPB100)是一种通讯协议转换器,能够实现Modbus 协议与Profibus-DP协议的信息共享。汇川630伺服作为一种先进的运动控制设备,其平稳性和准确性获得了充分肯定。本文将详细分析怎么使用Profibus转Modbus模块(XD-MDPB100)连接SmartPLC以及配备汇川630…

6.20+rand()%10~7.8

集训、集训、集训忘了放假之前的事了 首先排除是因为点分治调破防了 (发现一写数据结构专题闲话就变月记了) 其实还有原因是每次写这东西到一半就会因为点睡眠就会不小心点成关机所以似了 换校区(放假) 说实话放的还挺久的 在衡水住的酒店,打了一下午崩铁 速成了一下超击破…