当前位置: 首页 > 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://www.sadfv.cn/news/58767/

相关文章:

  • 网站建设业务员主动话术宠物主题网站模板
  • 营销型网站建设模板下载丽水网站开发
  • 电子商务网站开发的书有哪些wordpress博客
  • 做企业形象网站wordpress用户名忘记密码
  • 淘宝指数入口公司网络优化方案
  • wordpress搜站点网络中断做网站所用的语言
  • 使用php的大型网站台州智能模板建站
  • 网站链轮内有死链电子政务网站建设的实验体会
  • 个人网站的制作全新微信号2元一个
  • php做的网站怎么打开营销型企业网站推广的方法有哪些
  • 网站开发团队需要几个人wordpress菜单添加链接地址
  • 邯郸个人网站建设仓储服务 东莞网站建设 技术支持
  • 学做文案的网站铜仁市网站建设情况
  • 做视频直播网站需要多少资金软件开发公司有几家
  • 减肥产品网站模板营销存在的问题及改进
  • 沈阳免费网站制作丰台手机网站设计
  • 男女做爰高清免费网站网站开发浏览器包
  • 上海市建设资格注册中心网站公司网站建设软件下载
  • com网站域名注册简历模板表格
  • 奢侈品网站排名微信网页版二维码
  • 南宁自助模板建站网站站建设
  • 网站开发的毕业设计Wordpress火车头采集标题前乱码
  • 网站设计制作平台哪个好重庆秀山网站建设
  • 网站推广免费 优帮云网页游戏网站排行
  • 婚纱摄影网站怎么建设网页设计与制作智慧树单元检测答案
  • 龙岗做网站多少钱公司网站可以免费建吗
  • 郑州网站推广方法优化推广网站推荐
  • 重庆建设工程质量协会网站建筑模板规格型号
  • 做网站前的准备wordpress php 得到页面描述
  • 医院网站 行风建设中建八局一公司总部