当前位置: 首页 > wzjs >正文

wordpress 导航特效成都网络推广优化

wordpress 导航特效,成都网络推广优化,自己做家具网站,wordpress主题制作 工具问题描述 给定一个含有 n 个元素的数组 Ai​,你可以选择两个不相交的子段。求出这两个子段内的数的异或和的差值的最大值。 输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数 Ai​,相邻整数之间使用一个空格分隔。 输出格式 输出一行包…

问题描述

给定一个含有 n 个元素的数组 Ai​,你可以选择两个不相交的子段。求出这两个子段内的数的异或和的差值的最大值。

输入格式

输入的第一行包含一个整数 n。

第二行包含 n 个整数 Ai​,相邻整数之间使用一个空格分隔。

输出格式

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

样例输入

6
1 2 4 9 2 7

样例输出

14

样例说明

两个子段可以分别选 1 和 4,9,2,差值为 15−1=14。

评测用例规模与约定

对于 40 的评测用例,n≤5000;

对于所有评测用例,2≤n≤2×105,0≤Ai​≤220。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python310s256M
PyPy310s256M
Go10s256M
JavaScript10s256M

解析:

 看题目,先不考虑相不相交,维护一个i,这个i是之后的分界,考虑前i个元素中某个区间异或和最大或最小,怎么做呢,接下来就考虑字典树(如果字典树不理解先去看什么是字典树问题),将前i个元素求前缀异或和,要求L到R的区间就是[ L-1 ]^[ R ],将这个前缀和写成二进制序列插入到字典树种。异或只与每一位上是0还是1有关,当求出一个前缀和时,要判断字典树中这个区间的最大区间或最小区间,如果求最大区间,就是找与当前这个前缀和异或值最大,去字典树中找相反的记为这个区间最大,找最小时,就是找相同的。如下图所示,

 

 通过i将元素分成两半,对两边分别求最大最小然后作差求最大,将整个数组求前缀异或和,再求后缀异或和,就可以求出两边的最大最小了

代码:

#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
typedef long long ll;
const ll MAX = 2e5 + 4;
const ll INF = 0x3f3f3f3f3f3f3f3f;
ll a[MAX];//存输入的数组
ll lmax[MAX], lmin[MAX], rmax[MAX], rmin[MAX];//分界线i时左侧的右侧的异或和最大值最小值
ll lsum[MAX],rsum[MAX];//前缀和,后缀和
ll ltree[1<<22][2], rtree[1<<22][2];
int index = 1;//动态节点
void insert(ll x, ll tree[][2]) 
{int p=0;//节点编号for (int i = 20; i >= 0; i--){int t = (x >> i)&1;if (tree[p][t] == 0){tree[p][t] = index++;}p = tree[p][t];}
}
ll selectMax(ll x,ll tree[][2])//找相反位  只要存在说明异或为1
{int p=0;//节点编号ll res = 0;for (int i = 20; i >= 0; i--){int t = (x >> i) & 1;if (tree[p][!t] != 0){res += (1 << i);p = tree[p][!t];}else {p = tree[p][t];}}return res;
}
ll selectMin(ll x, ll tree[][2])//找相同  只要存在说明异或为0
{int p=0;//节点编号ll res = 0;for (int i = 20; i >= 0; i--){int t = (x >> i) & 1;if (tree[p][t] != 0){p = tree[p][t];}else{res += (1 << i);p = tree[p][!t];}}return res;
}
int main()
{ll n;cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}for (int i = 0; i <= n+1; i++)//初始化{lmax[i] = rmax[i] = 0;lmin[i] = rmin[i] = INF;}//前缀最大最小  i左侧的index = 1;insert(0,ltree);for (int i = 1; i <= n; i++){lsum[i] = lsum[i - 1] ^ a[i];//分为两种情况,包含分界点i和不包含 lmax[i] = max(lmax[i - 1], selectMax(lsum[i], ltree));lmin[i] = min(lmin[i - 1], selectMin(lsum[i], ltree));insert(lsum[i], ltree);}//后缀最大最小   i右侧的index = 1;insert(0, rtree);for (int i = n; i >= 1; i--){rsum[i] = rsum[i + 1] ^ a[i];//分为两种情况,包含分界点i和不包含 rmax[i] = max(rmax[i + 1], selectMax(rsum[i], rtree));rmin[i] = min(rmin[i + 1], selectMin(rsum[i], rtree));insert(rsum[i], rtree);}ll ans = 0;for (int i = 1; i < n; i++)//i表示分界点{//左侧最大-右侧最小//右侧最大-左侧最小//不相交ans = max(ans, max(lmax[i] - rmin[i + 1], rmax[i + 1] - lmin[i]));}cout << ans << endl;return 0;
}


文章转载自:

http://khgIH1Yt.kyhnL.cn
http://DNX4FufB.kyhnL.cn
http://DwDoK7Zs.kyhnL.cn
http://6nWch3d0.kyhnL.cn
http://bGD9sSPG.kyhnL.cn
http://XlNWzcsK.kyhnL.cn
http://4qWf43Po.kyhnL.cn
http://F7drBWI9.kyhnL.cn
http://OMgZV4Le.kyhnL.cn
http://dRk5Essh.kyhnL.cn
http://CXnufU8K.kyhnL.cn
http://qaCY9SLg.kyhnL.cn
http://lIhaMbuI.kyhnL.cn
http://LhUwsj0u.kyhnL.cn
http://qv0QAvWO.kyhnL.cn
http://zzwPyf2B.kyhnL.cn
http://CgYkZ3Aa.kyhnL.cn
http://6BroOHxL.kyhnL.cn
http://Qwgmsjz6.kyhnL.cn
http://LIIKg9E5.kyhnL.cn
http://Coist9XW.kyhnL.cn
http://T5BYI25R.kyhnL.cn
http://cJpufySM.kyhnL.cn
http://b2QAvewK.kyhnL.cn
http://uwZ2ZBTf.kyhnL.cn
http://sQDA9AQ8.kyhnL.cn
http://RCBXvANa.kyhnL.cn
http://JcZyye6t.kyhnL.cn
http://qtE1Jtvs.kyhnL.cn
http://OeEVuSFx.kyhnL.cn
http://www.dtcms.com/wzjs/729275.html

相关文章:

  • 长沙网站seo推广公司成都装修网站建设多少钱
  • 室内设计图网站有哪些大连网站设计室
  • 网站 iss手机制作动画软件app免费
  • 帮别人做网站哪里可以接单郑州中原网站建设
  • 网页游戏网站mhnphp mysql做网站登录
  • 个人网站花多少钱深圳seo秘籍
  • 问答网站开发开网店需要准备什么资料
  • 网站开发怎么接入支付宝有哪些网站可以做推广包包
  • 网站被k 申诉网站自动推广软件免费
  • 网站建设合同样本自媒体交易网站开发
  • 做网站标题居中代码类似快手网站开发
  • 正规的徐州网站建设广告设计在线
  • 手机网站自适应小程序开发是前端还是后端
  • 做音乐下载网站网站建设大致分哪几个板块
  • 做设计网站的工作网站开发的工作职责
  • 动易企业网站怎么查网站开发者联系方式
  • 北京大兴企业网站建设哪家好百度识图在线使用
  • 网站首页图片代码山东思达建筑公司排名
  • 武昌网站建设价格多少钱闽侯网站建设
  • 大学生旅游网站策划书购物网站需求分析报告
  • 免费新建网站会计培训班的费用是多少
  • 什么是部署php网站中山网站制
  • 简约好看的网站模板小程序登录入口代码
  • 最好的模板网站中国纪检监察报陈江华
  • 建设网站时的常见故障分类建站seo赚钱
  • 深圳哪家做网站郑州o2o网站建设汉狮
  • wordpress点赞排行石景山网站seo优化排名
  • wordpress 分类目录 title 权重深圳seo关键词优化外包公司
  • 自己网站建设的流程是什么做a网站
  • 电子商城网站制作wordpress5.0.1