P12894 [藍橋杯 2025 國 Java B] 智能交通信號燈

[Problem] \color{blue}{\texttt{[Problem]}} [Problem]

給定一個長度為 n n n 的數組 a 1 … n a_{1\dots n} a1n?,進行 m m m 次一下操作:

  1. 給定 l , r l,r l,r,求出 ∑ l ≤ i < j ≤ r mex { a i , a j } \sum\limits_{l \leq i < j\leq r}\text{mex}\{a_{i},a_{j}\} li<jr?mex{ai?,aj?}。其中 mex { x 1 , x 2 , … , x n } \text{mex}\{ x_{1},x_{2},\dots,x_{n} \} mex{x1?,x2?,,xn?} 表示大于等于 1 1 1 的最小的未在 x 1 … n x_{1 \dots n} x1n? 中出現的整數。
  2. 給定 k , x k,x k,x,修改 a k = x a_{k}=x ak?=x

1 ≤ n , m ≤ 1 × 10 5 , 1 ≤ l < r ≤ n , 1 ≤ k ≤ n , 1 ≤ a i , x ≤ 1 × 10 9 1 \leq n,m \leq 1\times 10^{5}, 1 \leq l < r \leq n, 1 \leq k \leq n, 1\leq a_{i},x \leq 1 \times 10^{9} 1n,m1×105,1l<rn,1kn,1ai?,x1×109

[Analysis] \color{blue}{\texttt{[Analysis]}} [Analysis]

其實 mex { x , y } ( x < y ) \text{mex}\{x,y\}(x<y) mex{x,y}(x<y) 的取值無非就是 1 , 2 , 3 1,2,3 1,2,3

  • x = 1 , y = 2 x=1,y=2 x=1,y=2 時, mex = 3 \text{mex}=3 mex=3
  • x = 1 , y =? 2 x=1,y \not = 2 x=1,y=2 時, mex = 2 \text{mex}=2 mex=2
  • 否則 mex = 1 \text{mex}=1 mex=1

這題到這里也就做完了。

開一個樹狀數組分別統計區間內 1 , 2 1,2 1,2 出現的次數就可以了。

記得開 long long。

Code \color{blue}{\text{Code}} Code

const int N=1e5+100;class Fenwick_Tree{public:void set_size(int n){this->n=n;for(int i=1;i<=n;i++)c[i]=0;}void modify(int x,int val){for(int i=x;i<=n;i+=lowbit(i))c[i]+=val;}int query(int x){int ans=0;for(int i=x;i;i-=lowbit(i))ans+=c[i];return ans;}private:int c[N],n;int lowbit(int x){return x&(-x);}
}cnt[2];int query(int num,int l,int r){if (num<1||num>2) return -1;--num;return cnt[num].query(r)-cnt[num].query(l-1);
}typedef long long ll;
#define sum(n) (1ll*(n)*((n)-1)/2)
ll query(int l,int r){int n=r-l+1;int x=query(1,l,r),y=query(2,l,r),z=n-x-y;return 3ll*x*y+2ll*sum(x)+2ll*x*z+1ll*(sum(n)-1ll*x*y-sum(x)-1ll*x*z);
}int n,m,a[N];int main(){n=read();m=read();cnt[0].set_size(n);cnt[1].set_size(n);for(int i=1;i<=n;i++){a[i]=read();if (a[i]<=2)cnt[a[i]-1].modify(i,1);}for(int i=1;i<=m;i++){int opt=read(),l=read(),r=read();if (opt==1) printf("%lld\n",query(l,r));else{if (a[l]<=2)cnt[a[l]-1].modify(l,-1);a[l]=r;if (a[l]<=2)cnt[a[l]-1].modify(l,1);}}return 0;
}

順便一說,這題的數據好水啊。犯了一個及其低級的錯誤,但是還能拿 75 75 75 分。

不過可以理解,畢竟修改操作 a i , x a_{i},x ai?,x 都大于等于 3 3 3 時等于沒改,如果數據純隨機的話,大部分修改都是沒用的。

	for(int i=1;i<=m;i++){int opt=read(),l=read(),r=read();if (opt==1) printf("%lld\n",query(l,r));else{if (a[l]<=2)cnt[a[l]-1].modify(i,-1);a[l]=r;if (a[l]<=2)cnt[a[l]-1].modify(i,1);}}

考驗一下大家,能不能超出錯誤在哪。

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

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

相關文章

華為云Flexus+DeepSeek征文|基于華為云一鍵部署的 Dify-LLM 平臺構建智能試卷生成助手

目錄 前言 1 華為云Dify-LLM應用平臺部署 1.1 一鍵部署平臺簡介 1.2 四步完成部署流程 2 接入華為云 DeepSeek 自定義大模型 2.1 ModelArts Studio 模型服務介紹 2.2 配置自定義大模型 3 創建試卷生成工具&#xff08;工作流&#xff09; 3.1 設計 DSL 工作流 3.2 工…

嵌入式硬件與應用篇---寄存器GPIO控制

在 ARM 架構中&#xff0c;通過 32 位寄存器控制 GPIO&#xff08;通用輸入輸出&#xff09;的核心步驟和方法可分為以下幾個關鍵環節&#xff0c;結合不同芯片的實現差異&#xff0c;具體操作需參考對應的數據手冊&#xff1a; 一、GPIO 控制的核心步驟 1. 使能 GPIO 時鐘 …

Fiddler中文版抓包工具在跨域與OAuth調試中的深度應用

跨域和OAuth授權流程一直是Web和移動開發中最容易踩坑的領域。復雜的CORS配置、重定向中的Token傳遞、授權碼流程的跳轉&#xff0c;以及多域名環境下的Cookie共享&#xff0c;常常讓開發者陷入調試困境。此時&#xff0c;一款能夠精準捕獲、修改、重放請求的抓包工具顯得至關重…

React用戶交互事件

在React中處理用戶交互事件&#xff08;如點擊、輸入、提交等&#xff09;的方式與原生JavaScript類似&#xff0c;但有一些語法差異和最佳實踐。以下是常見交互事件的處理方法及代碼示例&#xff1a; 一、基本事件處理&#xff08;點擊、輸入等&#xff09; 1. 點擊事件&…

DHT11 STM32 HAL驅動庫 整數

dht11.h #ifndef __DHT11_H #define __DHT11_H#include "stm32f1xx_hal.h" // 根據實際芯片型號調整&#xff08;如stm32f4xx_hal.h&#xff09;// DHT11數據結構 typedef struct {GPIO_TypeDef *GPIOx; // GPIO端口&#xff08;如GPIOA&#xff09;uint16_t GP…

【Actix Web 精要】Rust Web 服務開發核心技術與實戰指南

目錄 一、Actix Web 核心架構解析1.1 核心組件交互流程1.2 關鍵組件說明&#xff1a; 二、項目初始化與配置2.1 創建項目2.2 添加依賴 (Cargo.toml)2.3 項目結構 三、核心模塊實現3.1 配置管理 (src/config.rs)3.2 應用狀態管理 (src/main.rs)3.3 數據模型 (src/models/user.rs…

從URL到視頻:用Python和AI構建自動化內容講解視頻生成管道

摘要 本文旨在從技術層面&#xff0c;深入探討并實踐一個將任意網頁鏈接&#xff08;如飛書文檔、博客文章&#xff09;自動轉換為帶有配音和字幕的講解視頻的系統。我們將詳細拆解整個實現流程&#xff0c;覆蓋從內容抓取與解析、利用大語言模型&#xff08;LLM&#xff09;智…

Java 使用 Easy Excel 進行 Excel 數據導入導出

1. 通過 Maven 下載 Easy Excel 依賴包 在項目的 pom.xml 文件中添加以下依賴&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version> <!-- 使用最新版本 -->…

國產化條碼類庫Spire.Barcode教程:如何使用 C# 讀取 PDF 中的條碼(兩種方法輕松實現)

在 PDF 文檔的 .NET 平臺處理流程中&#xff0c;使用 C# 讀取 PDF 條碼 是一項常見需求&#xff0c;特別適用于處理掃描件或電子表單。無論是物流、金融、醫療還是制造行業&#xff0c;PDF 文檔中經常包含用于追蹤或識別的條碼。這些條碼可能是嵌入圖像&#xff0c;也可能是矢量…

2023國賽數字取證-流量分析

數據取證 - 1 A 集團的?絡安全監控系統發現惡意份?正在實施?級可持續攻擊&#xff08;APT&#xff09;&#xff0c;并抓取了部分可疑流量包。請 您根據捕捉到的流量包&#xff0c;搜尋出?絡攻擊線索&#xff0c;分解出隱藏的惡意程序&#xff0c;并分析惡意程序的?為。 …

【預約小程序】-健身房預約課程小程序——仙盟創夢IDE

東方仙盟-坐擁萬個代碼 免費報表 阿雪技術觀 讓我們積極投身于技術共享的浪潮中&#xff0c;不僅僅是作為受益者&#xff0c;更要成為貢獻者。無論是分享自己的代碼、撰寫技術博客&#xff0c;還是參與開源項目的維護和改進&#xff0c;每一個小小的舉動都可能成為推動技術進…

SmartETL中數據庫操作與流程解耦的設計與應用

正如ETL這個概念本身所指示的&#xff0c;數據庫讀寫訪問是ETL的最常用甚至是最主要的操作。現代信息系統的設計與運行基本都是圍繞數據庫展開的&#xff0c;很多應用的核心功能都是對數據庫的CRUD&#xff08;創建、檢索、更新、刪除&#xff09;操作。 SmartETL框架設計之初…

【記錄解決問題】activiti--sql 轉義符設置

一、背景 %、&#xff01;、_在sql查詢時需要轉義&#xff0c;轉義的語法 like %?2% escape ?#{escapeCharacter()}二、activiti轉義配置 String wildcardEscapeClause ""; if (this.databaseWildcardEscapeCharacter ! null && this.databaseWildcard…

Unity AR構建維護系統的以AI驅動增強現實知識檢索系統

本博客概述了為維護開發的AI驅動增強現實&#xff08;AR&#xff09;知識檢索系統的開發過程&#xff0c;該系統集成了Unity用于AR、Python服務器用于后端處理&#xff0c;以及ChatGPT用于自然語言處理。該系統允許維護工人通過AR設備&#xff08;如HoloLens 2&#xff09;查詢…

Java面向對象核心:方法值傳遞與封裝機制精講

文章目錄 Java面向對象編程核心筆記一、方法值傳遞機制1. 基本數據類型傳遞2. 引用數據類型傳遞值傳遞總結 二、面向對象核心概念1. 類與對象關系2. 類定義規范3. 對象創建與使用 三、封裝機制詳解1. 封裝三大要素2. 封裝示例&#xff08;GirlFriend類&#xff09;3. 測試類4. …

【Actix Web】構建高性能 Rust API:Actix Web 最佳實踐與進階指南

目錄 一、高性能 API 架構設計1.1 系統架構圖1.2 核心組件 二、項目初始化與配置2.1 創建項目2.2 添加依賴 (Cargo.toml)2.3 配置文件 (config/default.toml) 三、核心模塊實現3.1 應用狀態管理 (src/state.rs)3.2 數據模型定義 (src/models.rs) 四、認證與授權系統4.1 JWT 認證…

vue項目中純前端實現導出pdf文件,不需要后端處理。

在 Vue 項目中&#xff0c;純前端實現導出 PDF 文件是完全可行的。通常可以借助一些 JavaScript 庫來將 HTML 內容或 DOM 元素轉換為 PDF 并下載&#xff0c;無需后端參與。 下面介紹幾種常用的方案和實現方法&#xff1a; 推薦方案&#xff1a;使用 html2canvas jsPDF 安裝…

c++虛擬內存

常見的內存困惑 當你編寫C程序時&#xff0c;是否遇到過&#xff1a; vector申請200MB內存&#xff0c;但系統顯示只占用20MB&#xff1f;程序在低配機器上崩潰&#xff0c;報出std::bad_alloc但內存顯示充裕&#xff1f;遍歷數組時特定位置耗時突然增加&#xff1f;相同代碼…

領域驅動設計(DDD)【22】之限定建模技術

文章目錄 一 限定初識二 限定識別三 限定實現 一 限定初識 一個 員工 可以擁有多份 工作經驗&#xff0c;而各個 工作經驗 的 時間段 不能相互重疊。可以得出一個推論&#xff1a;對于一個 員工 而言&#xff0c;每個 時間段 只能有一條 工作經驗。 UML中第二種表述方式&…

《P6492 [COCI 2010/2011 #6] STEP》

題目描述 給定一個長度為 n 的字符序列 a&#xff0c;初始時序列中全部都是字符 L。 有 q 次修改&#xff0c;每次給定一個 x&#xff0c;若 ax? 為 L&#xff0c;則將 ax? 修改成 R&#xff0c;否則將 ax? 修改成 L。 對于一個只含字符 L&#xff0c;R 的字符串 s&#…