有趣的区间【牛客tracker 每日一题】

有趣的区间

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

给出一个长度为n nn的数组A AA,下标从1 11开始,A 1 , A 2 , . . . , A n A_1,A_2,...,A_nA1,A2,...,An。定义一个区间[ l , r ] [l,r][l,r]是“有趣的区间”,当且仅当A l ∣ A l + 1 ∣ A l + 2 ∣ . . . ∣ A r − 1 ∣ A r A_l∣A_{l+1}∣A_{l+2}∣...∣A_{r−1}∣A_rAlAl+1Al+2...Ar1Ar结果为奇数。

a ∣ b a∣bab表示a aa按位或b bb(按位或运算符“∣∣”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的两个二进位有一个为1 11时,结果位就为1 11)。

求“有趣的区间”的个数,两个区间[ L 1 , R 1 ] , [ L 2 , R 2 ] [L1,R1],[L2,R2][L1,R1],[L2,R2]相同,当且仅当L 1 = L 2 L1=L2L1=L2R 1 = R 2 R1=R2R1=R2

输入描述:

第一行包含一个整数n ( 1 ≤ n ≤ 5 e 5 ) n (1≤n≤5e5)n(1n5e5),表示数组A AA的长度。

第二行包含n nn个整数,分别表示数组A AAn nn个元素,其中0 ≤ A i ≤ 1 e 9 0≤A_i≤1e90Ai1e9

输出描述:

一行包含一个整数,表示 ”有趣的区间“ 的个数。

示例1

输入:

2 2 1

输出:

2

说明:

”有趣的区间“ 有[ 1 , 2 ] ( ( 2 ∣ 1 = 3 [1,2] (( 2∣1=3[1,2]((21=3是奇数))[ 2 , 2 ] ( ( 1 [2,2] ((1[2,2]((1是奇数))共2 22个。

解题思路

首先推导核心规律,按位或运算结果为奇数的充要条件是二进制最低位为1,而按位或的特性为:区间内只要有一个数是奇数(最低位1 11),整个区间的按位或结果必为奇数,只有区间内所有数都是偶数时,按位或结果才是偶数。因此采用反向求解策略,先计算数组的总区间数n ∗ ( n + 1 ) / 2 n*(n+1)/2n(n+1)/2,再减去所有全偶数子区间的数量,得到有趣区间的个数;遍历数组统计连续偶数的长度c cc,遇奇数则计算该段全偶子区间数c ∗ ( c + 1 ) / 2 c*(c+1)/2c(c+1)/2并从总数扣除,重置c cc,遍历结束后扣除最后一段全偶区间数;该方法时间复杂度O ( n ) O(n)O(n),无冗余计算,完美适配n ≤ 5 × 10 5 n≤5×10^5n5×105的规模,高效精准统计出符合要求的区间总数。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=5e5+10;ll a[N];intmain(){ll n;cin>>n;for(ll i=0;i<n;i++)cin>>a[i];ll ans=n*(n+1)/2;ll c=0;for(ll i=0;i<n;i++){if(a[i]&1){ans-=c*(c+1)/2;c=0;}elsec++;}ans-=c*(c+1)/2;cout<<ans<<endl;return0;}

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

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

相关文章

ssm473的阳光养老院管理系统

目录阳光养老院管理系统摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;阳光养老院管理系统摘要 阳光养老院管理系统基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架开发&#xff0c;旨在为养老机构提供高效、…

ssm474的高校运动会管理网站

目录高校运动会管理网站&#xff08;SSM474&#xff09;摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;高校运动会管理网站&#xff08;SSM474&#xff09;摘要 高校运动会管理网站基于SSM框架&#xff08;SpringSpringMV…

基于SpringBoot+Vue的大理扎染非遗商城系统设计与实现

一、选题研究和意义 &#xff08;一&#xff09;选题依据 在数字化浪潮席卷全球的当下&#xff0c;非物质文化遗产作为人类文明的重要瑰宝&#xff0c;正面临着传承与发展的双重考验。一方面&#xff0c;非遗文化承载着民族历史记忆与独特艺术魅力&#xff0c;是文化自信建设的…

ssm464高校物资采购管理系统--论文

目录摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 高校物资采购管理是高校后勤保障体系的重要组成部分&#xff0c;其效率与规范性直接影响教学科研活动的开展和资金使用效益。传统采购管理模式存在流程繁琐、信息不…

导师推荐!10款AI论文写作软件测评:本科生毕业论文必备工具

导师推荐&#xff01;10款AI论文写作软件测评&#xff1a;本科生毕业论文必备工具 2026年AI论文写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着人工智能技术的快速发展&#xff0c;越来越多的本科生开始借助AI工具提升论文写作效率。然而&#xff0c;面对市场上琳…

学霸同款2026 AI论文工具TOP9:研究生开题必备测评

学霸同款2026 AI论文工具TOP9&#xff1a;研究生开题必备测评 2026年学术写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 在当前学术研究日益数字化的背景下&#xff0c;AI论文工具已成为研究生群体提升效率、优化写作流程的重要助手。然而&#xff0c;面对市场上种类繁…

时间序列大数据分析:预测模型与异常检测

时间序列大数据分析&#xff1a;预测模型与异常检测 一、引言 (Introduction) 钩子 (The Hook) 想象一下&#xff0c;你负责管理一家大型电商公司的库存。每天&#xff0c;你都会面对海量的销售数据&#xff0c;这些数据以时间序列的形式呈现&#xff0c;记录着从过去到现在每一…

ssm465网络作者与美工交流论坛带版主平台--论文

目录SSM465网络作者与美工交流论坛的设计与实现技术架构与功能模块版主管理机制与社区运营创新点与实际应用价值开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM465网络作者与美工交流论坛的设计与实现 该论文探讨了基于SSM…

LLM让疫苗副作用预测更准

&#x1f4dd; 博客主页&#xff1a;Jax的CSDN主页 LLM赋能疫苗副作用预测&#xff1a;从数据孤岛到精准预警的范式跃迁目录LLM赋能疫苗副作用预测&#xff1a;从数据孤岛到精准预警的范式跃迁 引言&#xff1a;疫苗安全的数字革命 维度一&#xff1a;技术应用场景——从被动响…

01. 通信前置知识

1.Ip地址和端口类 2.域名解析 3.序列化和反序列化1.Ip地址和端口类 1).IPAddress类: 用于处理IP地址a.IPAddress.Parse(string ip)解析字符串形式的IP地址(如 "127.0.0.1"), 无效IP会抛异常b.IPAddress.TryParse(string ip, out IPAddress result)安全解析IP地址(返回…

服装管理订单ERP是什么?主要包括哪些功能?

服装管理订单ERP系统的功能解析与应用 服装管理订单ERP系统是一款专为服装电商行业设计的综合软件&#xff0c;它集成了多个功能模块&#xff0c;包括进销存管理、发货管理、财务管理和商品管理。这些模块相互连接&#xff0c;形成了一个高效的运营平台。进销存管理能够实时监控…

强烈安利专科生必用TOP9 AI论文写作软件测评

强烈安利专科生必用TOP9 AI论文写作软件测评 专科生必备的AI论文写作工具测评 在当前高等教育不断普及、学术竞争日益激烈的背景下&#xff0c;专科生在撰写论文时面临的挑战也愈发明显。从选题构思到资料收集&#xff0c;再到内容撰写与格式规范&#xff0c;每一个环节都可能成…

KEPServerEX西门子S7 Plus驱动演示

本实例是介绍使用Siemens S7 Plus驱动来与S7-1500 PLC建立连接并实现通信的案例。设置KEPServerEX V6 建立 KEPServerEX 的工程主要分为以下几项&#xff1a;新建通道&#xff1a;New Channel&#xff1b;新建设备&#xff1a;New Device&#xff1b;新建标签组&#xff1a;Ne…

esp32实现在线音频播放

环境 vscodeplatformioarduion && 串口&#xff0c;wifi-CSDN博客 代码 // Welcome to www.LingShunLAB.com#include "Arduino.h" #include "WiFiMulti.h" #include "Audio.h"// Digital I/O used #define I2S_DOUT 7 #define I…

uv 与 pip:Python 包与依赖管理工具对比

当谈到 Python 的包管理工具时&#xff0c;开发者常常要在 uv 和 pip 之间做出选择。 如果你看重开箱即用、广泛的兼容性和成熟的生态系统&#xff0c;pip 依然是稳妥之选&#xff1b;而如果你更关注安装速度、环境可复现性、干净的卸载行为&#xff0c;或者希望为新项目建立高…

vscode+platformio+arduion 串口,wifi

1.开发环境vscodeplatformioarduionesp32 - s3 - n16r8&#xff08;小智的一套开发板&#xff09;2.编译3.烧录选择板子端口烧录程序&#xff0c;可以看到蓝灯闪烁4.串口代码串口运行时可以看到绿灯闪烁// 简单的串口测试程序 #include "Arduino.h"void setup() {// …

告别时间不同步:轻松掌握同步技术核心要点

在跨时区协作、自动化运维日益普及的今天,设备间的时间一致性变得至关重要。然而,许多用户仍被时间不同步问题所困扰。其实,只要掌握几个核心配置要点与排查逻辑,就能有效避免此类问题。本文将带你从零开始,轻松掌…

2026 年公交车体广告公司综合实力排行榜单及选择建议指南:2026年公交车体广告公司如何选?哪家好?哪家强?哪家靠谱?选哪家 - Top品牌推荐

一、公交车体广告概述 公交车体广告作为一种移动户外媒体形式,以其独特的流动性、广泛性和视觉冲击力,成为城市中重要的广告传播载体。公交车每日穿梭于城市核心区域,覆盖通勤、商业区、居民区等多类人群,为品牌提…

提示工程架构师:玩转上下文工程跨模态信息融合技术

提示工程架构师&#xff1a;玩转上下文工程跨模态信息融合技术关键词&#xff1a;提示工程架构师、上下文工程、跨模态信息融合技术、信息处理、应用场景摘要&#xff1a;本文围绕提示工程架构师如何玩转上下文工程跨模态信息融合技术展开。先介绍相关背景知识&#xff0c;包括…

web入门71-80

web71 分析代码ob_get_contents():得到输出缓冲区的内容。 ob_end_clean():清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。 preg_replace():执行一个正则表达式的搜索和替换。所以最后的输出结果会全部替换为…