藍橋與力扣刷題(藍橋 k倍區間)

題目:給定一個長度為?N?的數列,A1,A2,?AN?,如果其中一段連續的子序列?Ai,Ai+1,?Aj(?i≤j ) 之和是?K?的倍數,我們就稱這個區間[i,j]?是 K 倍區間。

你能求出數列中總共有多少個?K 倍區間嗎?

輸入描述

第一行包含兩個整數?N?和?K(?1≤N,K≤105 )。

以下 N 行每行包含一個整數?AiAi??(?1≤Ai≤105 )

輸出描述

輸出一個整數,代表 K 倍區間的數目。

輸入輸出樣例

示例

輸入

5 2
1
2
3
4
5

輸出

6

解題思路+代碼:(引用題解區 作者:風之理

解題思路

①前綴和:是每一個都是前面累加的(第一個是0+第一個) ②前綴和%K==》可以找到K=0,它一定是K的倍數 ③理解一個東西:任意兩個前綴和的差值就是一個區間 ④而前綴和的差值為0,也一定是K的倍數 ⑤(3,3,3,3)---》任意兩個組合:(n*(n-1)/2))

代碼:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);long N= sc.nextInt();long K= sc.nextInt();long sum=0;long [] n1=new long[100010];long [] n2=new  long[(int) K];for (int i = 0; i < N; i++) {long s= sc.nextInt();n1[i+1]=n1[i]+s;n2[(int)(n1[i+1]%K)]++;}sum +=n2[0];for (int i = 0; i < K; i++) {sum+=(n2[i]-1)*n2[i]/2;}System.out.println(sum);sc.close();}}

?個人想了這題很久,但是提交代碼只能通過兩個用例:

總結: 個人認為這題還是有點難,ai之后發現高效的解法需要用到前綴和與哈希表來計算,大家也可參考大佬的解題思路~

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

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

相關文章

json介紹、python數據和json數據的相互轉換

目錄 一 json介紹 json是什么&#xff1f; 用處 Json 和 XML 對比 各語言對Json的支持情況 Json規范詳解 二 python數據和json數據的相互轉換 dumps() : 轉換成json loads(): 轉換成python數據 總結 一 json介紹 json是什么&#xff1f; 實質上是一條字符串 是一種…

PAT乙級真題 / 知識點(1)

引言&#xff1a; 起初&#xff0c;報PAT是伙伴推薦。但在報名路途中&#xff0c;有朋友說&#xff0c;花時間到這上面不值得&#xff0c;還有學長說沒聽過&#xff0c;野雞杯。 我一笑而過&#xff0c;我可能就是偏執&#xff0c;我就是想報。隨著刷真題&#xff0c;我的基礎…

單細胞分析(20)——inferCNV分析

InferCNV分析筆記 1. 分析目標 InferCNV&#xff08;Inference of Copy Number Variations&#xff09;是一種基于單細胞轉錄組數據推斷**拷貝數變異&#xff08;CNV&#xff09;**的方法&#xff0c;推測其基因組變異情況。 2. 數據準備 2.1 載入數據 library(Seurat) set…

C++:多態與虛函數

1.虛函數&#xff0c;在函數前加virtual即可。有虛函數時&#xff0c;父類指針指向父類對象時就會使用父類的成員&#xff0c;指向子類對象時就可以使用子類成員&#xff0c;進而我們引入了多態的概念。 2.多態&#xff1a;父類指針指向子類的對象&#xff0c;通過父類指針調用…

WSL下使用git克隆失敗解決

WSL默認nat模式&#xff0c;別動了防火墻放行&#xff0c;見圖1git導入[bash1]&#xff0c;ip為你wsl上linxu通過ifconfig獲取的本機ip&#xff0c;端口對好某alcsh軟件開啟tun模式【經過測試&#xff0c;不開也行】應該成了&#xff0c;如果不行&#xff0c;修改.wslconfig為下…

開放鴻蒙OpenHarmony 5.0.0 Release 兼容性測試實戰經驗分享

OpenHarmony 5.0版本的發布時間是2024年12月20日至21日。這個版本帶來了許多新特性和改進。現在5.0出了兩個release 版本&#xff0c;分別是5.0.0和5.0.1。 就在5.0版本發布不到2周的時間內&#xff0c;2025年01月01日起&#xff0c;不支持新產品基于老分支&#xff08;OpenHar…

C++中explicit關鍵字的含義以及用法

在C中&#xff0c;explicit關鍵字用于修飾構造函數和轉換運算符&#xff08;C11起&#xff09;&#xff0c;防止編譯器進行隱式類型轉換&#xff0c;要求必須顯式調用構造函數或轉換操作。以下是其核心用法和示例&#xff1a; 1. 修飾構造函數 用途 禁止隱式構造對象&#xf…

Oracle OCP認證考試考點詳解083系列01

題記&#xff1a; 本系列主要講解Oracle OCP認證考試考點&#xff08;題目&#xff09;&#xff0c;適用于19C/21C,跟著學OCP考試必過。 1. 第1題&#xff1a; 題目 解析及答案&#xff1a; 關于自動工作量存儲庫&#xff08;AWR&#xff09;快照&#xff0c;以下哪三個選項…

從DNS到TCP:DNS解析流程和瀏覽器輸入域名訪問流程

1 DNS 解析流程 1.1 什么是DNS域名解析 在生活中我們會經常遇到域名&#xff0c;比如說CSDN的域名www.csdn.net&#xff0c;百度的域名www.baidu.com,我們也會碰到IP&#xff0c;現在目前有的是IPV4&#xff0c;IPV6。那這兩個有什么區別呢&#xff1f;IP地址是互聯網上計算機…

《2025軟件測試工程師面試》接口測試篇

基礎概念 什么是接口測試? 接口測試是測試系統組件間接口的一種測試,主要用于檢測外部系統和內部系統之間以及各個子系統之間的交互點。測試的重點是檢查數據的交換、傳遞和控制管理的過程,以及系統間的相互邏輯依賴關系等。 接口測試的優勢是什么? 接口測試具有規范性與擴…

【PHP腳本語言詳解】為什么直接訪問PHP文件會顯示空白?從錯誤示例到正確執行!

前言 作為一名開發者&#xff0c;你是否曾經遇到過這樣的問題&#xff1a;寫了一個PHP腳本&#xff0c;放到服務器根目錄后&#xff0c;直接通過file:///路徑訪問卻顯示空白頁面&#xff1f;而換成http://localhost卻能正常顯示&#xff1f;這篇文章將帶你深入理解PHP腳本語言…

word轉換為pdf后圖片失真解決辦法、高質量PDF轉換方法

1、安裝Adobe Acrobat Pro DC 自行安裝 2、配置Acrobat PDFMaker &#xff08;1&#xff09;點擊word選項卡上的Acrobat插件&#xff0c;&#xff08;2&#xff09;點擊“首選項”按鈕&#xff0c;&#xff08;3&#xff09;點擊“高級配置”按鈕&#xff08;4&#xff09;點…

基于PyTorch的深度學習2——逐元素操作,歸并,比較,矩陣

以下為部分逐元素操作代碼實例。 import torcht torch.randn(1, 3) t1 torch.randn(3, 1) t2 torch.randn(1, 3)#t0.1*(t1/t2) torch.addcdiv(t, 0.1, t1, t2)#計算sigmoid torch.sigmoid(t)#將t限制在[0,1]之間 torch.clamp(t,0,1)#t2進行就地運算 t.add_(2) 歸并操作一般…

線程池的工作流程

線程池的工作流程主要包括任務提交、線程分配、任務執行和線程回收等環節&#xff0c;以下是對其詳細的描述&#xff1a; 任務提交 當有任務需要執行時&#xff0c;用戶通過線程池提供的提交方法&#xff0c;如execute()或submit()方法&#xff0c;將任務&#xff08;通常是實現…

C++20 標準化有符號整數:邁向更可預測的整數運算

文章目錄 一、背景&#xff1a;為什么需要標準化&#xff1f;二、2 的補碼&#xff1a;原理與優勢&#xff08;一&#xff09;2 的補碼原理&#xff08;二&#xff09;2 的補碼的優勢 三、C20 的變化&#xff1a;明確 2 的補碼四、如何利用這一特性優化代碼&#xff08;一&…

Libgdx游戲開發系列教程(1)——環境配置及demo運行

目錄 環境 JDK環境 項目創建 1.下載gdx-setup.jar文件 2.填寫信息,創建項目 demo運行步驟 1.修改gradle.properties 2.安裝Build-Tool 3.運行 Libgdx游戲是基于Java的一款游戲引擎,可以發布Android,桌面端,Html,IOS等游戲,出名的《殺戮尖塔》也是用了此引擎制作的 本…

【jenkins配置記錄】

全局工具配置&#xff1a; D:\Program Files\Java\jdk1.8.0_281 D:\Program Files\Git\bin\git.exe E:\allure-2.13.2 2. GIT 3. 定時任務 H 8 * * 1-5 4. 構建觸發器 5. 構建后操作 Allure Report 吐血記錄&#xff1a;報告路徑可以為 workspace 相對路徑 6. 系統配置 em…

C++:內聯函數

內聯函數可以用來降低運行時間&#xff0c;當內聯函數收到編譯器的指示時&#xff0c;即可發生內聯&#xff1a;編譯器會使用函數的定義體來替代函數調用語句&#xff0c;此行為發生在編譯階段。 定義內聯函數涉及的關鍵字為inline&#xff0c;例如&#xff1a; inline void …

Linux網絡相關概念和重要知識(1)(網絡協議、網絡通信)

目錄 1.網絡協議 &#xff08;1&#xff09;網絡的起源 &#xff08;2&#xff09;為什么需要協議 &#xff08;3&#xff09;協議分層及其設計的解耦 &#xff08;4&#xff09;OSI定義的七層網絡模型 ①分層及其功能 ②TCP/IP協議 ③傳輸層協議&#xff08;TCP和UDP&a…

【入門Web安全之前端學習的側重點和針對性的建議】

入門Web安全之前端學習的側重點和針對性的建議 一、HTML&#xff1a;理解攻擊載荷的載體二、CSS&#xff1a;次要但需警惕點擊劫持三、JavaScript&#xff1a;滲透測試的核心重點四、瀏覽器工具&#xff1a;滲透測試的實戰武器五、學習建議與資源六、總結&#xff1a;滲透測試者…