每日一题Cat, Fox and the Lonely Array

文章目录

    • 题名:
    • 题意:
    • 题解:
    • 代码:

题名:

Cat, Fox and the Lonely Array

题意:

给定一个数组a,求出最小的k,满足数组每个长度为k的连续子数组元素按位或答案都相等。

题解:

可以想象成一个长度为k滑动窗口,每次向后移动移动一个位置,只需要保证当前窗口的首元素,与向后滑动一个位置新添加的元素对相或贡献一致即可,因为两个数相或有一个为一,答案就为一。

代码:

#include <iostream>
#include <vector>
using namespace std;
const int MAXN = 1e5 + 6;
int t, n;
int a[MAXN];
bool check(int mid)
{vector<int> arr(22, 0);for(int i=1;i<=mid;i++){for(int j=0;j<=20;j++){if ((a[i]>>j)&1){arr[j+1]++;}}}for(int i=1;i+mid<=n;i++){for (int j=0;j<=20;j++){if ((a[i]>>j)&1) {arr[j+1]--;if(arr[j+1]==0){arr[j+1]=-1;}}}for (int j=0;j<=20;j++){if ((a[i + mid]>>j)&1){if (arr[j+1]>0){arr[j+1]++; } else if(arr[j+1]==-1) {arr[j+1]=1; }else if(arr[j+1]==0) {return false;}}else {if(arr[j+1]==-1) {return false;}}}}return true;
}int main()
{cin>>t;while(t--) {cin >> n;for (int i=1;i<=n;i++) {cin>>a[i];}int l=1,r=n,ans=0;while(l<=r){int mid=(l + r)>>1;if(check(mid)){r=mid-1;ans= mid;}else{l=mid+1; }}cout<<ans<<endl;}return 0;
}

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

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

相关文章

【AI新时代】拥抱未来,用AI无人直播替代真人直播,解放劳动力,控制成本!

在科技日新月异的新时代&#xff0c;人工智能&#xff08;AI&#xff09;的 keJ0277 浪潮正在席卷各行各业&#xff0c;为传统的工作模式带来了前所未有的变革。其中&#xff0c;AI无人直播的兴起&#xff0c;无疑是这场科技革命中的一股强劲力量。它以其独特的优势&#xff0…

【Linux设备驱动】1.字符设备驱动程序框架及相关结构体

目录 程序总体框架模块加载函数模块卸载函数具体操作函数 相关结构体cdev结构体file_oparations结构体 设备号分配设备号注销设备号创建设备文件 程序总体框架 /* 包含相关头文件 */ #include <linux/module.h> #include <linux/fs.h> #include <linux/init.h&…

C# System.Span<T>、ref struct

1. Span<T>的特性 system.span<T>在.net core 2.0版本引入它适用于对连续内存的操作&#xff0c;而不产生新的内存分配&#xff0c;比如数组、字符串、堆外内存类型为ref struct&#xff0c;不能作为参数传递&#xff0c;不能被装箱(不能作为类的字段)&#xff0c…

信号处理技术:现代通信技术的基石

随着信息技术的飞速发展&#xff0c;通信技术的每一次革新都极大地改变了人们的生活方式。而在这背后&#xff0c;信号处理技术作为通信技术的核心&#xff0c;通过深入分析信号特性、提取有用信息、转换信号形式等一系列手段&#xff0c;为现代通信技术的发展提供了强有力的支…

机器学习7大方面,30个硬核数据集。纯干货分享

在刚刚开始学习算法的时候&#xff0c;大家有没有过这种感觉&#xff0c;最最重要的那必须是算法本身&#xff01; 其实在一定程度上忽略了数据的重要性。 而事实上一定是&#xff0c;质量高的数据集可能是最重要的&#xff01; 数据集在机器学习算法项目中具有非常关键的重…

Python读写文件

最近得以空闲&#xff0c;然后继续学习py。 学习一下py中最频繁用到的文件读写的方法。 在py中&#xff0c;操作是通过文件对象【File obj】实现的&#xff0c;通过文件对象可以读写文本文件和一些二进制文件。 1.打开文件 使用Python中的open函数。有8个参数&#xff0c;但…

2024.5.25.python.exercise

# # 导入数据处理的包 # # from pyecharts.charts import Line # # from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts, LabelOpts # # import json # # # # # 打开文件 # # file_us open("美国.txt", "r", encoding&quo…

C++ Primer Plus第十八章复习题

1、使用用大括号括起的初始化列表语法重写下述代码。重写后的代码不应使用数组ar。 class z200 { private:int j;char ch;double z; public:Z200(int jv,char chv&#xff0c;zv) : j(jv), ch (chv), z(zv){} };double x 8.8; std::string s "what a bracing effect ! …

头歌OpenGauss数据库-H.存储过程第1关:创建存储过程

编程要求 数据库中已经存在三个基础表&#xff1a; student ( num integer, name char(20), age integer, level integer, dept char(20) ); course ( id integer, name char(20) ); sel_course ( studentid integer, courseid integer, score integer ); 创建存储过程&#xf…

Vue3/Vite引入EasyPlayer.js播放H265视频错误的问题

一、引入EasyPlayer.js github链接:GitHub - EasyDarwin/EasyPlayer.js: EasyPlayer.js H5播放器 将demo/html目录下的 EasyPlayer-element.min.js、EasyPlayer-lib.min.js、EasyPlayer.wasm、jquery.min.js 复制到vue3工程的public目录下,注意,vue3 vite的index.html文件…

win10配置wsl的深度学习环境

# 1、一步完成wsl&#xff1a;开启虚拟机、linux子系统、并下载ubuntu # 官方文档: https://learn.microsoft.com/zh-cn/windows/wsl/install wsl --install# 2、打开windows terminal&#xff0c;选ubuntu交互环境 # 第一次需要配置用户名和密码 # 接下来正常使用即可# 3、cud…

自然资源-做好用地用海国土空间规划符合性审查

自然资源-做好用地用海国土空间规划符合性审查 为发挥国土空间规划战略引领和刚性管控作用&#xff0c;强化国土空间规划对各专项规划的指导约束作用&#xff0c;依法依规加强自然资源要素保障&#xff0c;做好用地用海用岛国土空间规划符合性审查工作&#xff1a; 一、加快地…

深入了解数据库设计中的规范化与反规范化

目录 零、前言 一、一些基本术语 二、关系模式 2.1. 什么是关系模式 2.2. 示例 三、数据依赖 3.1. 函数依赖 3.1.1. 完全函数依赖 3.1.2. 部分函数依赖 3.1.3. 传递函数依赖 3.2. 多值依赖 3.3. 连接依赖 四、规范化 4.1. 第一范式&#xff08;1NF&#xff09; …

什么是 DNS 转发?

DNS转发是一种网络传输技术&#xff0c;主要用于解决本地DNS服务器无法直接解析某个特定域名的情况。当本地DNS服务器收到一个无法解析的域名请求时&#xff0c;它会将该请求转发给其他可信的DNS服务器&#xff0c;以获取所需的解析结果。这种技术有助于优化网络性能和安全性&a…

【Flutter】有状态组件StatefulWidgetScaffold组件属性

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Flutter学习 &#x1f320; 首发时间&#xff1a;2024年5月26日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43e; 目…

AWS联网和内容分发之VPC

Amazon Virtual Private Cloud&#xff08;VPC&#xff09;是一项用于在AWS云中创建一个逻辑隔离的虚拟网络的服务&#xff0c;使用户能够在云中启动AWS资源&#xff08;例如EC2实例&#xff09;&#xff0c;并将其放置在自己定义的虚拟网络中。 Amazon VPC让您能够全面地控制…

AEE运行机制深入剖析——阅读笔记

AEE运行机制深入剖析——阅读笔记 在移动设备和嵌入式系统的开发中&#xff0c;应用执行环境&#xff08;Application Execution Environment&#xff0c;简称AEE&#xff09;起着至关重要的作用。AEE是操作系统层面的一个框架&#xff0c;负责管理应用程序的生命周期&#xf…

JVM性能调优:内存模型及垃圾收集算法

JVM内存结构 根据Java虚拟机规范&#xff0c;JVM内存主要划分为以下区域&#xff1a; 年轻代&#xff08;New Generation&#xff09; 包括Eden空间&#xff0c;用于存放新创建的对象。Survivor区由两个相同大小的Survivor1和Survivor2组成&#xff0c;用于存放经过初次垃圾回…

AI菜鸟向前飞 — LangChain系列之十四 - Agent系列:从现象看机制(上篇)

上一篇介绍了Agent与LangGraph的基础技能Tool的必知必会 AI菜鸟向前飞 — LangChain系列之十三 - 关于Tool的必知必会 前面已经详细介绍了Promp、RAG&#xff0c;终于来到Agent系列&#xff08;别急后面还有LangGraph&#xff09;&#xff0c;大家可以先看下这张图&#xff1…

leetcode328. 奇偶链表,附详细解析和代码注释

leetcode328. 奇偶链表 给定单链表的头节点 head &#xff0c;将所有索引为奇数的节点和索引为偶数的节点分别组合在一起&#xff0c;然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 &#xff0c; 第二个节点的索引为 偶数 &#xff0c;以此类推。 请注意&#xff0…