P8649 [蓝桥杯 2017 省 B] k 倍区间(同余定理)

[蓝桥杯 2017 省 B] k 倍区间

题目描述

给定一个长度为 N 的数列,A_1,A_2, \\cdots A_N,如果其中一段连续的子序列 A_i,A_{i+1}, \\cdots A_j(i \\le j) 之和是 K 的倍数,我们就称这个区间 \[i,j\]K 倍区间。

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

输入格式

第一行包含两个整数 NK(1 \\le N,K \\le 10\^5)

以下 N 行每行包含一个整数 A_i(1 \\le A_i \\le 10\^5)

输出格式

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

样例 #1

样例输入 #1

```

5 2

1

2

3

4

5

```

样例输出 #1

```

6

```

提示

时限 2 秒, 256M。蓝桥杯 2017 年第八届

利用同余定理:当a mod k=b mod k 时,∣a−b∣mod k=0。

cpp 复制代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,s[100005],ans=0,xb[100005];
signed main(){
    cin>>n>>k;
    for(int i=1,t;i<=n;i++)
        cin>>t,s[i]=s[i-1]+t;
    for(int i=0;i<=n;i++)
        ans+=xb[s[i]%k]++;
    cout<<ans;
    return 0;
}
相关推荐
小程故事多_806 小时前
[大模型面试系列] 深度解析ReAct框架,大模型Agent的“思考+行动”底层逻辑
人工智能·react.js·面试·职场和发展·智能体
那我掉的头发算什么8 小时前
【面试八股】一篇文章讲清楚JVM面试常考
jvm·面试·职场和发展·java虚拟机
冬天vs不冷8 小时前
面试必知必会(13):MySQL锁机制
mysql·面试·职场和发展
华夏之光永存8 小时前
独家:国家级光刻机项目架构师面试对话实录
面试·职场和发展
KNeeg_8 小时前
黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐
java·redis·后端·spring·面试·职场和发展·黑马点评
FPGA小迷弟8 小时前
FPGA工程师常见面试问题,有参考答案,必学!!!
fpga开发·面试·职场和发展·verilog·fpga·modelsim
Java后端的Ai之路8 小时前
以为AI开发就是调接口?一场25K的面试让我看到真相,原来真正的技术深度在这!
人工智能·面试·职场和发展·agent·ai应用开发
会编程的土豆8 小时前
【数据结构与算法】空间复杂度从入门到面试:不仅会算,还要会解释
数据结构·c++·算法·面试·职场和发展
.NET修仙日记15 小时前
2026 .NET 面试八股文:高频题 + 答案 + 原理(高级核心篇)
面试·职场和发展·c#·.net·.net core·.net 8
浅念-15 小时前
LeetCode最短路必看:BFS算法原理+经典题解
数据结构·c++·算法·leetcode·职场和发展·bfs·宽度优先