每日一題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.pswp.cn/web/15597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15597.shtml
英文地址,請注明出處:http://en.pswp.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…