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

校园微网站建设方案ppt广告优化师工作内容

校园微网站建设方案ppt,广告优化师工作内容,一些做的好的网站,口碑好的丹徒网站建设传送题目 看了半个多小时的题解才搞明白#xff0c;一下题解为自己的心得 参考博客#xff08;这两个讲的很详细#xff09;#xff1a; 参考一 参考二 题意#xff1a;有一个长度有n的整数序列#xff0c;你要在这个序列中选择一个前缀和后缀#xff0c;前后缀不想交一下题解为自己的心得 参考博客这两个讲的很详细 参考一 参考二 题意有一个长度有n的整数序列你要在这个序列中选择一个前缀和后缀前后缀不想交前后缀任何一方都可以为空问你前缀异或值与后缀异或值的异或最大是多少 比如 一组数 1 2 3 4 5 6 你可以选择前缀为1 2前缀异或和为3 选择后缀为4 5 6后缀异或和为7 前缀异或和与后缀异或和异或值为4但此时4并不是最大情况求出最大情况 思路 首先讲个小例题 给一个数 a还有一堆数怎么在这一堆数中找出一个数 ba 和 b 的异或值最大 最暴力的方法无疑是老办法 枚举枚举每一个b但这样肯定不行~~不然我写这个博客干什么~~ 想想计算机的本质是啥对二进制。我们把a与这堆数转化成二进制把后面这堆数装进一个字典树当然要从最高位装比如这堆数是123456如图根据异或规则不同为一所以我们要使a与b异或最大就要让b尽可能与a不同a已经给定b已经形成字典树我们就从字典树root开始尽量找出于a当前位置不同的数直到找到最低位为止那么这样找到的b满足条件。 回到这个题 首先这些n个数组成一个区间ww的全部异或结果是定值K,所以问题可以改成在区间w中取连续一段区间mm的异或结果为Xm的前部分就成为区间w的前缀后半部分就是区间w的后缀。 我们知道相同的数异或为零那么X与K异或重复的那部分区间异或后为零就相当于是我们题目所求的 所以就是求什么情况下X xor K最大。 发现现在的情况和一开始讲的例题很像了吧我们假设有个YY与K的每一个二进制相异我们就要让X尽可能接近Y。 怎么实现呢也是建一个字典树将f[i]放进去f[i]a[1] ^ a[2] ^ a[3] ^ …^ a[i],那么f[i]^f[j]a[i1] ^ a[i2] ^ … ^aj可以表示i1到j这段区间的异或值。 我们枚举区间m的结尾每次用一个f[i]去匹配一个f[k]使得f[k]^f[i]的值在高位上尽可能去接近Y这样就相当于选出区间[k1,i]de异或值作为X每次在[1,i]区间内匹配出来一个最佳区间后不断更新答案。 看懂了吗这些神奇的操作巧妙利用字典树工具人石锤来匹配。 (太晚了就不重新打代码了借用下参考一的代码) //范围是10的12次方我们就将每个数固定为40位 #includebits/stdc.h using namespace std; #define LL long long #define rep(i,j,k) for(int i j; i k; i ) #define Rrep(i,j,k) for(int i j; i k; i-- ) #define Clean(x,y) memset(x,y,sizeof(x)) int n; LL a[100009]; LL temp; LL ans;LL p[45]; int aim[45]; int Next[1000000][2]; int len; void init() {Clean(Next,0);len 0; } void insert(LL t) {int now 0;int k;Rrep(i,39,0){if ( p[i] t ) k 1;else k 0;if ( !Next[now][k] ) Next[now][k] len;now Next[now][k];} }LL query(LL t) {int now 0;LL ans 0;int k;Rrep(i,39,0){if ( p[i] t ) k 1;else k 0;if ( ( aim[i] Next[now][1-k] ) || ( !aim[i] Next[now][k] ) ){ansp[i];now aim[i]1?Next[now][1-k]:Next[now][k];}else now aim[i]0?Next[now][1-k]:Next[now][k];}return ans; }int main() {p[0] 1;rep(i,1,40) p[i] p[i-1]1;while(scanf(%d,n)1){a[0] 0;ans 0;rep(i,1,n){scanf(%I64d,temp);a[i] temp ^ a[i-1];}ans max(ans,a[n]);rep(i,0,39)if ( a[n] p[i] ) aim[i] 0; //计算Yelse aim[i] 1;init();insert(a[0]); rep(i,1,n){insert(a[i]);ans max(ans,query(a[i]));}coutansendl;}return 0; }
http://wiki.neutronadmin.com/news/58767/

相关文章:

  • 做一个自己的网站网站建议怎么写
  • 企业网站上的工资表怎么做cn域名与com域名
  • 网站建设公司的公司微信开发者社区
  • 合肥哪里有建站公司某些网站域名解析错误
  • 备案时暂时关闭网站医院为什么要做门户网站建设
  • 空间网站大全国外交易平台
  • 求购信息网站绍兴网站建设制作
  • 网站管理系统制作泰国浪琴手表网站
  • 网站建设评选打分长春网站排名提升
  • 怎样做美食网站解决方案网站设计
  • 云酒店网站建设网站的栏目管理
  • 网站屏蔽右键破解app免费下载大全
  • 网站建设与运营课程总结网站建设第一品牌 网站设计
  • 网站建设公司的客户网站品牌推广公司
  • 网站首页的尺寸wordpress google统计
  • 网站托管运营阜宁住房和城乡建设局网站
  • 和小孩做的网站wordpress wiki 皮肤
  • 哪个酒店网站做的好看的沧州网站艰涩很
  • 个人备案的网站涉及到资金html网页设计模板免费下载
  • 什么叫网站建设服务网站建公司简介
  • 韩国优秀电商网站阿里云网站空间做商城流程
  • 电子商务网站建设规划报告怎么看别人网站怎么做的优化
  • 做pc网站排名网页设计与制作简介
  • 塘厦镇做网站做网站 钱
  • 十堰网站建设报价合肥外贸网站建设公司排名
  • 汽车4s销售网站模板装修网线用几类
  • 网站模版整站下载网站建设工程
  • 旅游网站开发工具伊春市住房和城乡建设局网站
  • 邵东微网站建设做网站建设推广好做吗
  • 网络维护这个工作好吗逆冬seo