硝基甲苯之魇

news/2025/9/22 16:40:43/文章来源:https://www.cnblogs.com/benscode/p/19105534

题目链接:https://ac.nowcoder.com/acm/contest/95323/K

题意:

给定一个长度为n的数组,求所有[l,r]区间xor等于区间gcd的个数(l<r)

思路:

不妨固定左端点l,a[l]=x,发现右端点在扩增的时候,区间gcd最多变化logx次,因此可以二分出区间gcd的变化点p

同时用ST表求出区间[p1,p2]gcd大小,设为g,那么区间pre[r] xor pre[l-1] = g => pre[r]= g xor pre[l-1]

(其中r属于[p1,p2]且r不能为l),通过map套vector上二分能求出这段区间中pre[r]的数的个数

int Log[maxn];
void init(){Log[1]=0;for(int i=2;i<=2e5;i++){Log[i] =Log[i/2]+1;}
}void solve(){int n;cin>>n;vector<int>a(n+1);rep(i,1,n)cin>>a[i];vector<vector<int>>f(n+1,vector<int>(27));rep(i,1,n)f[i][0]=a[i];rep(j,1,26){for(int i=1;i+(1ll<<j)-1<=n;i++){f[i][j]=__gcd(f[i][j-1],f[i+(1ll<<j-1)][j-1]);}}auto query =[&](int l,int r)->int{int k=Log[r-l+1];return __gcd(f[l][k],f[r-(1ll<<k)+1][k]);};vector<int>pre(n+1);rep(i,1,n){pre[i]=(pre[i-1]^a[i]);}map<int,vector<int>>cnt;rep(i,1,n)cnt[pre[i]].pb(i);int ans=0;auto cal=[&](int x,int lt,int rt)->int{auto itl=lower_bound(cnt[x].begin(),cnt[x].end(),lt);int left=0;if(itl==cnt[x].end())return 0;else left=lower_bound(cnt[x].begin(),cnt[x].end(),lt)-cnt[x].begin();auto itr=upper_bound(cnt[x].begin(),cnt[x].end(),rt);if(itr==cnt[x].end()){int m=cnt[x].size();return (m-left);}else{int right=upper_bound(cnt[x].begin(),cnt[x].end(),rt)-cnt[x].begin();return (right-left);}};for(int l=1;l<=n;l++){int L=l,R=n;int u=a[l];while(L<=n){int tmp=L;int ed=-1;while(L<=R){int mid = L+R>>1;if(query(l,mid)==u){L=mid+1;ed=mid;}else R=mid-1;}if(ed==-1)break;int x= (pre[l-1]^u);ans += cal(x,max(l+1,tmp),ed);if(ed+1>n)break;u=query(l,ed+1);L=ed+1;R=n;}}cout<<ans<<endl;
}

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

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

相关文章

重庆网站seo公司厦门专业做优化的公司

1.消息丢失 有这么一个场景&#xff0c;就是订单支付完成之后&#xff0c;订单系统会进行发送消息给RocketMQ集群&#xff0c;下游会有积分系统进行监听这个消息&#xff0c;进行消费然后给用户发放积分。在下面的这个场景中&#xff0c;通过查询日志发现了订单系统发送订单支付…

威联通怎么建设网站兰州企业网站

在当今数字化时代&#xff0c;网站被攻击已经成为常态&#xff0c;网络威胁愈演愈烈。这些攻击不仅威胁到企业的安全&#xff0c;还可能导致严重的商业危机。本文将探讨为什么网络流量攻击变得如此普遍和容易&#xff0c;并分析未来可能引发的商业危机。 ​ 网络流量攻击的普遍…

昆明网站推广专员装饰网站设计模板下载

很多人认为&#xff0c;给宝宝喂奶会导致胸下垂。有些爱美的妈妈&#xff0c;甚至在宝宝出生6个月后就着急断奶。那么&#xff0c;喂奶真的会导致胸下垂么&#xff1f;给大家讲两个真实的调查结果哈~2004年的一次针对496名新妈妈的调查结果显示&#xff0c;有75%的母乳喂养母亲…

网站固定头部河南最新任命12个厅级

目录 1.RTthread如何引入webclient和cjson来编写自己的模块代码 2.SecureCRT的安装与激活 3.static与const的区别 4.安装VScode 1.RTthread如何引入webclient和cjson来编写自己的模块代码 以我自己的工程为例&#xff1a; 首先将新引入的模块在applicatons下新建cpeinfo文件…

成都网站建设哪家专业而且比较便宜青岛市建设监督管理局网站

docker save用于导出镜像到文件&#xff0c;包含镜像元数据和历史信息&#xff1b;docker export用于将当前容器状态导出至文件&#xff0c;类似快照&#xff0c;所以不包含元数据及历史信息&#xff0c;体积更小&#xff0c;此外从容器快照导入时也可以重新指定标签和元数据信…

day14-Trae之一键换脸APP开发04

今日内容 1 Python 对接Coze工作流 # 1 之前使用coze做了一个工作流-换脸-当时只能发布到,集成到智能体中---》发布到coze商店---》链接地址---》把链接地址发送给其他人使用-我想对这个功能收费?-我想做一款app/微信…

Linux服务器单网卡如何配置多个的IP地址?

在 Linux 服务器上,即使只有一个网卡,也可以为其配置多个 IP 地址。这种配置方式通常用于支持多站点部署、虚拟主机、站群或其他需要多个 IP 地址的场景。以下是详细的配置方法,包括永久性和临时性配置的步骤。1. 配…

面试常问问题——索引是不是越多越好

绝对不是越多越好 索引过多的主要弊端: 1、降低写操作性能(增、删、改)每次对表进行 INSERT、UPDATE、DELETE 操作时,数据库不仅需要修改表中的数据,还需要更新这个表上的每一个索引 来保持数据一致性。 2、占用大…

day38大模型程序开发-GraphRAG实操

三、GraphRAG快速部署与调用方法详解 1.GraphRAG安装注,以下实验环境均为Ubuntu系统,以更好的模拟真实企业应用场景,其中大多数方法也可以直接迁移至Windows操作系统中。下面我们的操作以AutoDL平台上进行!Step 1.…

关于串口通信(232、485、422)和常见问题,一篇文章就给你说清楚~

关于串口通信(232、485、422)和常见问题,一篇文章就给你说清楚~ DB9公头母头接口定义 1、RS-232端(DB9母头/孔型)引脚定义 引脚序号 2 3 5 1、4、6 7、8 信号定义 TXD RXD 地 内部相连 内部相连 注…

东莞哪里的网站建设效果好其中最重要的网络设计结果

什么是接口隔离原则&#xff08;Interface Segregation Principle&#xff09; 定义&#xff1a;客户端不应该依赖它不需要的接口&#xff1b;一个类对另一个类的依赖应该建立在最小的接口上。概括的说就是&#xff1a;建立单一接口&#xff0c;不要建立臃肿庞大的接口。&…

怎么制作手机网页湘潭seo 推广快湘潭磐石网络

给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*...*k[m - 1] 可能的最大乘积是多少&#xff1f;例如&#xff0c;…

网站怎么做话术做vip的网站好做吗

1、AIDE的简单介绍AIDE通过扫描一台&#xff08;未被篡改&#xff09;的Linux服务器的文件系统来构建文件属性数据库&#xff0c;以后将服务器文件属性与数据库中的进行校对&#xff0c;然后在服务器运行时对被修改的索引了的文件发出警告。出于这个原因&#xff0c;AIDE必须在…

有个网站叫设计什么网站建设运营计划书

题目 在一个 2 x 3 的板上&#xff08;board&#xff09;有 5 块砖瓦&#xff0c;用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字&#xff08;上下左右&#xff09;进行交换. 最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。…

网站设计的目的和任务深圳建站哪家专业

目录 如何引入第三方库第三方库与当前项目Bean重复自定义自动配置类 自动配置类通常位于Spring Boot的自动配置模块中&#xff0c;并且被标记为 Configuration类。这些类使用 Conditional注解来检查某些条件是否满足&#xff0c;如果满足&#xff0c;则创建和配置相关的bean。…

有哪些网站适合大学生做兼职网站开发人员是干什么的

题目链接 BZOJ&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id2655 Solution 设\(f_i\)表示长度为\(i\)的序列个数&#xff0c;\(g_{i,x}\)表示含有\(x\)的序列个数&#xff0c;注意这里不考虑顺序&#xff0c;顺序答案直接乘\(n!\)就好了。 首先很显然可以得到…

网站建设找 三尾狐wordpress首页添加图片不显示图片

原文合集地址如下&#xff0c;有需要的朋友可以关注 本文地址 合集地址 原理 在 Vue.js 中&#xff0c;$nextTick 方法的底层原理涉及 Vue 的更新队列以及浏览器的异步任务队列&#xff08;微任务和宏任务&#xff09;。它的主要目标是在下次 DOM 更新循环结束后执行回调函…

巨鹿网站制作广州有什么好玩的好吃的

摘要&#xff1a; PTS&#xff08;Performance Testing Service&#xff09;是web化的卓越的SaaS性能测试平台&#xff0c;具备强大的分布式压测能力&#xff0c;可方便的模拟海量用户的真实业务场景。PTS铂金版在功能上强调页面可视化编排&#xff0c;目前也在快速迭代中&…

day13-Trae之一键换脸APP开发03

今日内容 1 后端Django项目trae或者其他ai工具去编写项目时---》如果UI图不一样,写出来的,可能跟我的不一样 后端的代码,前端代码,每次写都会有差距Django后端项目---》Python的一个web框架----》学习成本挺高---》…

摩尔投票法

0、参考资料(讲解视频及博客等)本人水平有限,如有错误,恳请指正 讲解视频:【【算法】摩尔投票法】一、应用场景典型应用场景:在一个数组中,寻找出现次数超过总元素数一半的元素(即 “主元素”);也可扩展到寻…