AcWing 1230. K倍区间

2023-11-18

给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j]是 K 倍区间。

你能求出数列中总共有多少个 K倍区间吗?

输入格式

第一行包含两个整数 N 和 K。

以下 N 行每行包含一个整数 Ai。

输出格式

输出一个整数,代表 K 倍区间的数目。

数据范围

1≤N,K≤100000,
1≤Ai≤100000

输入样例:

5 2
1
2
3
4
5

输出样例:

6

解析:

        推导得,(a-b)%k==0  等价于  a%k==b%k   所以遍历一遍,统计当前这个点前面有多少个相同余数的点, res加上即可,同时如国本来就是余数为0说明本来符合题意,额外加一个 1 

 代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
long long n,k,sum[N],res,t,a[N];
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		scanf("%d",&t);
		sum[i]=t+sum[i-1];	//计算前缀和 
	}
	for(int i=1;i<=n;i++){
		sum[i]%=k;
		res+=a[sum[i]];			//加上这个点前面的点统计的 
		if(sum[i]==0) res+=1;	//如果这个区间本来就是 K 倍区间,则 +1 
		a[sum[i]]++;			//加上这个点 
	}
	cout<<res;
	return 0;
} 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AcWing 1230. K倍区间 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • .npmrc给单独包设置源

    1 package json中的dependencies或者devDependencies模块设置要下载包的版本信息 例如 dependencies antv g 3 4 10 2 在 npmrc中设置对应源 antv g registry
  • 通过css去掉input框默认样式

    input 去除阴影 box shadow none 聚焦input的蓝色边框 outline none textarea 禁止拖拽 resize none 去除边框 border none 常用于IOS下移除原生样式 webkit app
  • Java使用opencv计算两个多边形交并比IOU、重叠面积占比

    opencv引入配置看这里https blog csdn net angelpaiy article details 126870213 需要引入的opencv类 import org opencv core Scalar import o
  • Dart中常用的集合类型List、Set、Map、Queue

    Dart中常用的集合类型 List 列表 有序集合 可以修改数据 Dart中List对应数组 可以通过索引访问元素 Set 集合 无序 不可重复 常用于过滤重复数据 Map 映射 键值对集合 键必须唯一 值可以重复 常用于存储关联数据 Qu
  • 分享5个关于 Vue 的小知识,希望对你有所帮助(五)

    大家好 今天我继续分享5个关于 Vue 的小知识 希望对你有所帮助 往期文章 分享5个关于 Vue 的小知识 希望对你有所帮助 一 分享5个关于 Vue 的小知识 希望对你有所帮助 二 分享5个关于 Vue 的小知识 希望对你有所帮助 三
  • CTRL键不能使用(非硬件问题)

    如果ctrl键不能用了 并且排除是硬件问题 排除方法 电脑有两个CTRL键 可以试试另一个是否可以使用 那么肯定是驱动除了问题 相关链接 根据上面的教程修改之后 我的驱动是无法更新的 我换了一个驱动就能正常使用了 选择驱动程序详细信息 然后
  • ad7606中文资料_16位ADC数据采集模块AD7606(原理图、中文数据手册、例程等)

    AD7606 数据采集模块 16位ADC 8通道同时200KHz频率采集 每秒8 200K样本 SPI接口或8080 16位并口 可自行选择 AD7606 数据采集模块特性 使用AD7606 高精度16位ADC芯片 8路模拟输入 阻抗1M欧
  • ZED安装

    1 下载对应版本的ubantu的sdk 运行 run文件 2 安装过程中可能会存在依赖关系错误的问题 可以解决的方法有二 一 换源 二 网上搜依赖关系的解决方法 3 运行get api py会出现一直downing的情况 解决方法有二 一
  • Linux curl 命令详解

    该命令设计用于在没有用户交互的情况下工作 curl 是一个工具 用于传输来自服务器或者到服务器的数据 向服务器传输数据或者获取来自服务器的数据 可支持的协议有 DICT FILE FTP FTPS GOPHER HTTP HTTPS IMA
  • 区块链的几大模块

    共识的分类 POW POW的一般理解 根据难度做SHA256哈希运算 不停寻找Nonce 特定的HASH 前导0的个数越多 代表难度越大 优点是难于计算 一旦收到网络上的区块 能快速验证 难度算法按高度动态调整 维持出块时间不变 POW规范
  • 06 - string,number

    06 String Number 6 01 Number 关于数字的一些特性 属性与方法 数字 0123456789 var num 10 console log num 特殊数字值 NaN 非数字 数字相关方法 全局方法 number v
  • IntelliJ Idea入门教程:如何新建项目

    下载IntelliJ IDEA 创建项目后 就可以开始添加新项目 创建目录和包 添加新类 导入资源以及通过添加更多模块扩展项目 建立新项目 创建一个新目录 在 项目 工具窗口 Alt 1 中 右键单击要在其中创建新目录的节点 然后选择 Ne
  • [588]Grafana安装及简单使用

    简介 Grafana是一个跨平台的开源的度量分析和可视化工具 可以通过将采集的数据查询然后可视化的展示 并及时通知 它主要有以下六大特点 1 展示方式 快速灵活的客户端图表 面板插件有许多不同方式的可视化指标和日志 官方库中具有丰富的仪表盘
  • python中^是什么意思

    是什么意思 输入为 x 3 x x 2 print x 在python中 符号代表按位翻转 输出为 意思就是 按位异或 可以参考如下示例 In 4 2 2 Out 4 0 In 5 1 3 Out 5 2 In 6 333 333 Out
  • 【IEEE 13 节点分配系统中的THD降低】系统的谐波分析给出了各种总线上电流和电压的谐波频谱和THD(Simulink实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真实现 1 概述 IEEE 13 节点分配系统中的THD
  • 安装最新版greenplum6.10时报错:依赖检测失败。(详细解决步骤)

    报错原因 最新版本的greenplum6 10一些内部工具对系统环境的依赖有要求 故直接进行rpm包安装时会报依赖缺失 如果在装服务器系统的时候选则的最小化安装 那么必然会报这个错误 greenplum5及以下版本在安装的时候是不会报这个错
  • 第二周作业

    1 运行脚本可以显示出本机的ip地址 bin bash ifconfig eth0 sed n 2p awk print 2 ifconfig eth0 提取网卡eth0的配置信息 使用 传给sed sed n 2p 输出ifconfig
  • 【nodejs进阶之旅(2)】:使用koa2+mysql 实现列表数据分页

    1 展示效果 分页 2 分页主要字段 分页主要字段包括 pageSize 每页条数 pageNum 第几页 startRow 当前开始页编号 endRow 当前结束页编号 total 总数量 主要是根据前端分页的参数 进行处理后 返回前端正
  • javamail 发送邮件

    转自 http blog csdn net jbgtwang archive 2009 06 11 4259787 aspx 今天学习了一下JavaMail javamail发送邮件确实是一个比较麻烦的问题 为了以后使用方便 自己写了段代码
  • AcWing 1230. K倍区间

    给定一个长度为 N 的数列 A1 A2 AN 如果其中一段连续的子序列 Ai Ai 1 Aj 之和是 K 的倍数 我们就称这个区间 i j 是 K 倍区间 你能求出数列中总共有多少个 K倍区间吗 输入格式 第一行包含两个整数 N 和 K 以