C++课后习题训练记录Day154

1.练习项目 :

问题描述

卓儿有一个包含 n 个整数的数组,她想找到子数组中的最大异或和。

输入格式

第一行是一个整数 n,表示数组的大小。

接下来一行有 n 个整数 x1,x2,...,xn,表示数组的内容。

输出格式

输出一个整数,表示子数组中的最大异或和。

2.选择课程

在蓝桥云课中选择题库,选择题号17205并开始练习。

3.开始练习

(1)源码 :

#include<bits/stdc++.h>

using namespace std;

const int N=32*1e5+10,M=1e5+10;

int aM,prefixM;

int sonN2,tot=1;

void insert(int x)

{

int o=1;

for(int i=30;i>=0;i--){

int y=x>>i&1;

if(!sonoy)sonoy=++tot;

o=sonoy;

}

}

int query(int x)

{

int o=1,res=0;

for(int i=30;i>=0;i--){

int y=x>>i&1;

//若y==1则走0,若y==0则走1

if(sono!y)o=sono!y,res|=(1<<i);

else o=sonoy;

}

return res;

}

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n;cin>>n;

for(int i=1;i<=n;i++)cin>>ai;

for(int i=1;i<=n;i++)prefixi=prefixi-1^ai;

insert(0);

int ans=0;

for(int i=1;i<=n;i++){

ans=max(ans,query(prefixi));

insert(prefixi);

}

cout<<ans<<'\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法 是否切换 为英语模式;语法是否错误。

相关推荐
云淡风轻~窗明几净11 分钟前
角谷猜想最接近严格证明的测试 Version1.1.1
人工智能·算法·机器学习·图论
机器学习之心25 分钟前
PINN × SVM × NSGA-II × 熵权TOPSIS:一套跑通「建模—优化—决策」的多目标优化框架
算法·机器学习·支持向量机
·present·1 小时前
CSAPP(lecture 3)
c++
别动我齐刘海1 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
basketball6161 小时前
C++ 中字符串与常见类型的转换总结
开发语言·c++
fish_zzzz1 小时前
笔记-论数据结构1
数据结构
荆棘鸟智能2 小时前
短历时洪水预报算法实践:水文模型与 LightGBM 残差订正融合
人工智能·算法·机器人
等我调个Bug2 小时前
C++智能指针通俗讲解
开发语言·c++
葫三生2 小时前
关于三生原理系列被技术开发社区批量收录或引发策展边界讨论的一种思考
大数据·人工智能·深度学习·算法·机器学习·数据挖掘·开源
catcatuncle2 小时前
OpenWorkBuddy 部署排错手册:从源码启动到自己搭一个给团队用,七个最容易卡住的地方
算法