藍橋杯高頻考點真題單——4.修改數組

修改數組

8.修改數組 - 藍橋云課 (lanqiao.cn)

本來我的思路很一般,用一個set,記錄每一段的最值,然后分情況討論,如果查詢到未記錄的,那就直接輸出,并記錄。如果當前值前面已經有過,那就直接從set中調出首個比他大的值,就是該段最值(下面我稱之為大哥)。

錯誤思路:

for (int i = 0; i < n; i++)
{cin >> a;if (book[a] == 0)	//如果沒有標記過{if (book[a - 1] == 0 && book[a + 1] == 0)	//單獨作為大哥{book[a] = 2;prime.insert(a);}else if (book[a - 1] == 2 && book[a + 1] == 0)	//在其他大哥之前{book[a - 1] = 1;book[a] = 2;prime.erase(a - 1);prime.insert(a);}else if(book[a - 1] == 0 && book[a + 1] != 0)  //接在屁股后面,不管他book[a] = 1;cout << a << " ";	//沒標記過,說明之前無值,直接輸出}else //之前標記過{int bro = getPrime(a);	//找到大哥book[bro + 1] = 2;		//更新大哥book[bro] = 1;prime.erase(bro);prime.insert(bro + 1);cout << bro + 1 << " ";	//輸出新大哥}
}

上面的思路我覺得問題在于情況的討論,而且大數據下也無法驗證其準確性。還是老老實實用并查集吧。

什么時候用并查集?當你需要大哥的時候。思路和上面類似,值得注意的是,因為本題的集合是線段,而不是圖,所以join函數根本沒用,但是為了讓大家對并查集的整體認知,還是寫在代碼中,可以自行刪除。

還有就是需要一定程度上進行優化。

AC:

#include <iostream>
using namespace std;// 其實在我寫第一個set的時候,就已經有種超級熟悉的感覺了,并查集,找大哥const int N = 1e6 + 3;
int n;
int pre[N];void init()
{for (int i = 0; i <= N; i++)	pre[i] = i;
}int find(int a)
{/*  會超時,這里優化一下find,讓她直接指向大哥while (pre[a] != a)a = pre[a];return a;*/int root = a;while (pre[root] != root)	root = pre[root];int fa = pre[a];while (fa != root){pre[a] = root;a = fa;fa = pre[a];}return root;
}//join可以刪除
void join(int a, int b)
{int fa = find(a);int fb = find(b);if (fa != fb)	pre[fa] = fb;
}int main()
{init();cin >> n;int a;for (int i = 0; i < n; i++){cin >> a;a = find(a);cout << a << " ";pre[a] = a + 1;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13593.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13593.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13593.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

惡劣天氣下的車輛探測:多方關注 多模態融合方法

摘要 在自動駕駛汽車技術領域&#xff0c;多模式車輛檢測網絡(MVDNet)代表了一個重大的飛躍&#xff0c;特別是在具有挑戰性的天氣條件下。本文主要通過集成多頭關注層對MVDNet進行增強&#xff0c;旨在改進其性能。MVDNet模型中集成的多頭關注層是一個關鍵的改進&#xff0c;…

民國漫畫雜志《時代漫畫》第14期.PDF

時代漫畫14.PDF: https://url03.ctfile.com/f/1779803-1247458399-6732ac?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps:資源來源網絡&#xff01;

java+ vue.js+uniapp一款基于云計算技術的企業級生產管理系統,云MES源碼 MES系統如何與ERP系統集成?

java vue.jsuniapp一款基于云計算技術的企業級生產管理系統&#xff0c;云MES源碼&#xff0c;MES系統如何與ERP系統集成&#xff1f; MES系統&#xff08;制造執行系統&#xff09;與ERP系統&#xff08;企業資源規劃系統&#xff09;的集成可以通過多種方式實現&#xff0c;這…

探索亞馬遜云科技技術課程:大模型平臺與提示工程的應用與優化

上方圖片源自亞馬遜云科技【生成式 AI 精英速成計劃】技術開發技能課程 前言 學習了亞馬遜云科技–技術開發技能課程 本課程分為三個部分&#xff0c;了解如何使用大模型平臺、如何訓練與部署大模型及生成式AI產品應用與開發&#xff0c;了解各類服務的優勢、功能、典型使用案…

蘋果MacOS系統使用微軟遠程桌面連接Windows電腦桌面詳細步驟

文章目錄 前言1. 測試本地局域網內遠程控制1.1 Windows打開遠程桌面1.2 局域網遠程控制windows 2. 測試Mac公網遠程控制windows2.1 在windows電腦上安裝cpolar2.2 Mac公網遠程windows 3. 配置公網固定TCP地址 前言 日常工作生活中&#xff0c;有時候會涉及到不同設備不同操作系…

Vue3實戰筆記(38)—粒子特效終章

文章目錄 前言一、怎樣使用官方提供的特效二、海葵特效總結 前言 官方還有很多漂亮的特效&#xff0c;但是vue3只有一個demo&#xff0c;例如我前面實現的兩個頁面就耗費了一些時間&#xff0c;今天記錄一下tsparticles官方內置的幾個特效的使用方法&#xff0c;一般這幾個就足…

微信小程序---小程序文檔配置(2)

一、小程序文檔配置 1、小程序的目錄結構 1.1、目錄結構 小程序包含一個描述整體程序的 app 和多個描述各自頁面的 page 一個小程序主體部分由三個文件組成&#xff0c;必須放在項目的根目錄 比如當前我們的《第一個小程序》項目根目錄下就存在這三個文件&#xff1a; 1…

新媒體運營十大能力,讓品牌聞達天下!

" 現在新媒體蓬勃發展&#xff0c;很多品牌都有新媒體運營這個崗位。新媒體運營好的話&#xff0c;可以提高公司品牌曝光、影響力。那新媒體運營具備什么能力&#xff0c;才能讓品牌知名度如虎添翼呢&#xff1f;" 信息收集能力 在移動互聯網時代&#xff0c;信息的…

單細胞分析(Signac): PBMC scATAC-seq 聚類

引言 在本教學指南中&#xff0c;我們將探討由10x Genomics公司提供的人類外周血單核細胞&#xff08;PBMCs&#xff09;的單細胞ATAC-seq數據集。 加載包 首先加載 Signac、Seurat 和我們將用于分析人類數據的其他一些包。 if (!requireNamespace("EnsDb.Hsapiens.v75&qu…

JVM嚴鎮濤版筆記【B站面試題】

前言 2023-06-19 18:49:33 出自B站 灰灰的Java面試 楓葉云鏈接&#xff1a;http://cloud.fynote.com/s/4976 JVM面試題大全 Lecturer &#xff1a;嚴鎮濤 1.為什么需要JVM&#xff0c;不要JVM可以嗎&#xff1f; 1.JVM可以幫助我們屏蔽底層的操作系統 一次編譯&#xff0c…

C語言 數組——計算最大值的函數實現

目錄 計算最大值 計算最大值的函數實現 應用實例&#xff1a;計算班級最高分?編輯?編輯 返回最大值所在的下標位置 返回最大值下標位置的函數實現?編輯 一個綜合應用實例——青歌賽選手評分?編輯?編輯?編輯?編輯?編輯 計算最大值 計算最大值的函數實現 應用實例&…

音視頻開發4-補充 FFmpeg 開發環境搭建 -- 在windows 上重新build ffmpeg

本節的目的是在windows 上 編譯 ffmpeg 源碼&#xff0c;這樣做的目的是&#xff1a;在工作中可以根據工作的實際內容裁剪 ffmpeg&#xff0c;或者改動 ffmpeg 的源碼。 第一步 &#xff1a;下載&#xff0c; 安裝&#xff0c;配置 &#xff0c;運行 msys64 下載 下載地址&…

【paper】基于分布式采樣的多機器人編隊導航信念傳播模型預測控制

Distributed Sampling-Based Model Predictive Control via Belief Propagation for Multi-Robot Formation NavigationRAL 2024.4Chao Jiang 美國 University of Wyoming 預備知識 馬爾可夫隨機場&#xff08;Markov Random Field, MRF&#xff09; 馬爾可夫隨機場&#xff…

【Linux】使用AddressSanitizer分析內存非法使用問題

文章目錄 1 為什么需要AddressSanitizer&#xff1f;2 如何使用AddressSanitizer3 AddressSanitizer的原理4 總結 1 為什么需要AddressSanitizer&#xff1f; Valgrind是比較常用的內存問題定位工具&#xff0c;既然已經有了Valgrind&#xff0c;為什么還需要AddressSanitizer…

java 通過 microsoft graph 調用outlook(三)

這次會添加一個Reply接口&#xff0c; 并且使用6.10.0版本 直接上代碼 一&#xff0c; POM <!-- office 365 --><dependency><groupId>com.microsoft.graph</groupId><artifactId>microsoft-graph</artifactId><version>6.1…

域內 dcsync 權限維持

一、原理 DCSync 是域滲透中經常會用到的技術&#xff0c;其被整合在了 Mimikatz 中。在 DCSync 功能出現之前&#xff0c;要想獲得域用戶的哈希&#xff0c;需要登錄域控制器&#xff0c;在域控制器上執行代碼才能獲得域用戶的哈希。 Mimikatz的DCSync 功能&#xff1a; 該…

java8總結

java8總結 java8新特性總結1. 行為參數化2. lambda表達式2.1 函數式接口2.2 函數描述符 3. Stream API3.1 付諸實踐 java8新特性總結 行為參數化lambda表達式Stream Api 1. 行為參數化 定義&#xff1a;行為參數化&#xff0c;就是一個方法接受多個不同的行為作為參數&#x…

harmony 文件上傳

圖片上傳 1&#xff0c; 獲取文件&#xff0c;這里指的是圖片 在鴻蒙內部有一個API pick選擇器&#xff0c;實現文件保存和文件選擇的功能&#xff0c; 使用pick對象創建PhotoViewPicker實例 傳入必要的參數&#xff0c;如選擇圖片的數量&#xff0c;和彈出窗口的位置&#xf…

【機器學習】前沿探索,如何讓前端開發更加搞笑

在當今數字化時代&#xff0c;機器學習的崛起為前端開發帶來了巨大的機遇和挑戰。隨著人工智能和數據科學的不斷進步&#xff0c;前端工程師不再局限于傳統的界面設計和交互體驗&#xff0c;而是開始探索如何將機器學習技術融入到他們的工作中&#xff0c;以創造更加智能、個性…

面了一個程序員,因為6休1拒絕了我

人一輩子賴以生存下去的主要就考慮三件事&#xff0c;職業&#xff0c;事業&#xff0c;副業&#xff0c;有其1-2都是很不錯的。如果還沒到40歲&#xff0c;那不妨提前想下自己可能遇到的一些情況&#xff0c;提前做一些準備&#xff0c;未雨綢繆些。 今年整體就業大環境也一般…