蓝桥杯K倍区间(前缀和与差分,取模化简)

news2025/3/17 1:31:49

输入
5 2
1 2 3 4 5
输出
6

思路:首先由连续子串和可以想用前缀和,由于加减法总和取模和分别取模结果不受影响,所以我们前缀和之后直接取模方便观察性质,本题前缀和:1,3,6,10,15取模之后:1,1,0,0,1,用差分就可以求出某段区间的和,如果该段区间和取模2为0,那么答案+1,但是如果直接for循环差分o(N**2)会超时,不妨找取模后的数组中相等的数,因为这样两数相减=0(取模后为0,那么没取模的时候一定是2的倍数)即可,只要o(n).

细节:

(1)由于差分找到的区间的左开右闭的,当有独立的前缀和=0,那么从一开始到它这段连续序列是可以的,未来避免单独讨论,在读入a[N],s[N]时我们从1 开始,最后找相同数字时我们从 0 开始。

(2)ans+=c[sum[i]];
        c[sum[i]]++;这个顺序不能反,只有碰到>=2个相等才能有效

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int n,k,ans=0;
int a[N],sum[N],c[N];
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum[i]=sum[i-1]+a[i];//sum[i-1]=0
		sum[i]%=k;
	}
	for(int i=0;i<=n;i++ )
	{
		ans+=c[sum[i]];
		c[sum[i]]++;
	}
	cout<<ans<<endl;
	return 0;
 } 

 

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

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

相关文章

CEF132 编译指南 MacOS 篇 - depot_tools 安装与配置 (四)

1. 引言 在 CEF132&#xff08;Chromium Embedded Framework&#xff09;的编译过程中&#xff0c;depot_tools 扮演着举足轻重的角色。这套由 Chromium 项目精心打造的脚本和工具集&#xff0c;专门用于获取、管理和更新 Chromium 及其相关项目&#xff08;包括 CEF&#xff…

Ubuntu 20.04 上安装 qBittorrent

qBittorrent 通过终端安装 系统更新系统升级在 Ubuntu 20.04 上添加 Qbittorent PPA系统更新Qbittorent 安装 Qbittorent 是一个开源且可免费使用的点对点比特流客户端。它体积小&#xff0c;不加载内存盘。众所周知&#xff0c;此应用程序可以在许多操作系统&#xff08;例如…

【Ubuntu VScode Remote SSH 问题解决】Resolver error: Error: XHR failed

1. 问题描述 VScode使用remote ssh 远程服务器&#xff0c;报错类似&#xff1a; [12:06:01.219] Downloading VS Code server locally... [12:06:01.310] Resolver error: Error: XHR failedat k.onerror (vscode-file://vscode-app/private/var/folders/g1/cvs2rnpx60qc3b4…

【实战AI】利用deepseek 在mac本地部署搭建个人知识库

之前的文章中实现了本地通过ollma 部署deepseek R1&#xff1a;14b 模型&#xff0c;这里我想继续实现个人知识库&#xff0c;方便自己文档&#xff0c;数据的检索&#xff1b; 下载anythingLLM 地址&#xff1a; https://anythingllm.com/desktop 下载安装即可&#xff1b…

Spring Boot 3.4 中 MockMvcTester 的新特性解析

引言 在 Spring Boot 3.4 版本中&#xff0c;引入了一个全新的 MockMvcTester 类&#xff0c;使 MockMvc 测试可以直接支持 AssertJ 断言。本文将深入探讨这一新特性&#xff0c;分析它如何优化 MockMvc 测试并提升测试的可读性。 Spring MVC 示例 为了演示 MockMvcTester 的…

【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问

1&#xff0c;openresty 源码安装&#xff0c;带ssl模块 https://openresty.org/cn/download.html &#xff08;1&#xff09;PCRE库 PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式&#xff0c;那么在编译Nginx时就必须把PCRE库编译进Nginx&#xf…

互联网大厂面试高频题-操作系统部分

前言 哈喽各位小伙伴们,本期小梁给大家带来了互联网大厂面试中操作系统部分的高频题,本文会以通俗易懂的语言以及图解形式描述,希望能给大家的面试带来一点帮助,祝大家offer拿到手软!!! 话不多说,我们立刻进入本期正题! 1 说说什么是操作系统吧。 答…

redis之数据库

文章目录 服务器中的数据库切换数据库数据库键空间读写键空间时的维护操作 设置键的生存时间或过期时间保存过期时间过期键的判定过期键删除策略清性删除策略的实现定期删除策略的实现 总结 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结…

Vue3(1)

一.create-vue // new Vue() 创建一个应用实例 > createApp() // createRouter() createStore() // 将创建实例进行了封装&#xff0c;保证每个实例的独立封闭性import { createApp } from vue import App from ./App.vue// mount 设置挂载点 #app (id为app的盒子) createA…

01.Docker 概述

Docker 概述 1. Docker 的主要目标2. 使用Docker 容器化封装应用程序的意义3. 容器和虚拟机技术比较4. 容器和虚拟机表现比较5. Docker 的组成6. Namespace7. Control groups8. 容器管理工具9. docker 的优缺点10. 容器的相关技术 docker 官网: http://www.docker.com 帮助文档…

从零搭建:Canal实时数据管道打通MySQL与Elasticsearch

Canal实时同步Mysql Binlog至 Elasticsearch 文章目录 Canal实时同步Mysql **Binlog**至**Elasticsearch** 一. 环境准备1.环境检查检查Mysql是否开启BinLog开启Mysql BinlogJava环境检查 2.新建测试库和表3.新建Es索引 二.**部署 Canal Server****2.1 解压安装包****2.2 配置 …

《战神:诸神黄昏》游戏闪退后提示弹窗“d3dx9_43.dll缺失”“找不到d3dx11_43.d”该怎么处理?

宝子们&#xff0c;是不是在玩《战神&#xff1a;诸神黄昏》的时候&#xff0c;突然弹出一个提示&#xff1a;“找不到d3dx9_43.dll”或者“d3dx11_43.dll缺失”&#xff1f;这可真是让人着急上火&#xff01;别慌&#xff0c;今天就给大家唠唠这个文件为啥会丢&#xff0c;还有…

Ollama本地部署DeepSeek(Mac)

准备工作 DeepSeek对比 DeepSeek-r1 DeepSeek-R1的多个版本&#xff1a;加上2个原装671B的&#xff0c;总计8个参数版本 DeepSeek-R1 671B DeepSeek-R1-Zero 671B DeepSeek-R1-Distill-Llama-70B DeepSeek-R1-Distill-Qwen-32B DeepSeek-R1-Distill-Qwen-14B DeepSeek-R1-Di…

arm linux下的中断处理过程。

本文基于ast2600 soc来阐述&#xff0c;内核版本为5.10 1.中断gic初始化 start_kernel() -> init_IRQ() -> irqchip_init() of_irq_init()主要是构建of_intc_desc. 489-514: 从__irqchip_of_table中找到dts node中匹配的of_table(匹配matches->compatible)&#xf…

Docker的深入浅出

目录 Docker引擎 Docker镜像 (镜像由多个层组成&#xff0c;每层叠加之后&#xff0c;从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统&#xff08;OS&#xff09;&#xff0c;同时还包含应用运行所必须的文件和依赖包) Docker容器 应用容器化--Docker化 最佳…

内存映射工作原理和适用场景

Linux 内存映射&#xff08;Memory Mapping&#xff09;是一种将文件或其他资源直接映射到进程虚拟内存地址空间的机制&#xff0c;允许进程像访问内存一样访问文件或设备。这种机制通过 mmap() 系统调用实现&#xff0c;常用于高效文件操作、进程间共享内存等场景。 1. 内存映…

自动驾驶超声波雷达:市场潜力爆发,引领未来出行新趋势

在自动驾驶技术的飞速发展中&#xff0c;自动驾驶超声波雷达作为一项关键技术&#xff0c;正逐渐崭露头角&#xff0c;其重要性及市场增长潜力不容忽视。本文将深入探讨自动驾驶超声波雷达的重要性、市场增长趋势、显著优势、全球市场规模与驱动因素、主要市场参与者以及不同地…

41.兼职网站管理系统(基于springbootvue的Java项目)

目录 1.系统的受众说明 2.相关技术 2.1 B/S架构 2.2 Java技术介绍 2.3 mysql数据库介绍 2.4 Spring Boot框架 3.系统分析 3.1 需求分析 3.2 系统可行性分析 3.2.1技术可行性&#xff1a;技术背景 3.2.2经济可行性 3.2.3操作可行性&#xff1a; 3.3 项目设计目…

Linux ARM64 将内核虚拟地址转化为物理地址

文章目录 前言一、通用方案1.1 kern_addr_valid1.2 __pa 二、ARM64架构2.1 AT S1E1R2.2 is_kernel_addr_vaild2.3 va2pa_helper 三、demo演示参考资料 前言 本文介绍一种通用的将内核虚拟地址转化为物理地址的方案以及一种适用于ARM64 将内核虚拟地址转化为物理地址的方案&…

spring学习(使用spring加载properties文件信息)(spring自定义标签引入)

目录 一、博客引言。 二、基本配置准备。 &#xff08;1&#xff09;初步分析。 &#xff08;2&#xff09;初始spring配置文件。 三、spring自定义标签的引入。 &#xff08;1&#xff09;基本了解。 &#xff08;2&#xff09;引入新的命名空间&#xff1a;xmlns:context。 &…