首页 > 其他分享 >蓝桥杯-k倍区间

蓝桥杯-k倍区间

时间:2024-05-03 22:33:06浏览次数:35  
标签:前缀 int 样例 蓝桥 Ai 区间

给定一个长度为 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

题解:

  • 先求前缀和
  • 对前缀和s[i] 取余, 余数相同的前缀和 互相相减是 k 的倍数 (ps : 如果余数相同的个数是4, 那么 答案应该加上 3 + 2 + 1; 相同的个数是 3 的话, 应该加上 2 + 1, 还不懂的话看下图)
  • 区间中只有一个元素的也符合题意

下图模拟的是样例

#include <bits/stdc++.h>
#define int long long    // 会爆 int
using namespace std;
const int N = 1e5 + 10;
int a[N], b[N];
signed main()
{
    int n, k; cin >> n >> k;
    int sum = 0;
    for (int i = 1; i <= n; i ++) 
    {
        cin >> a[i]; a[i] += a[i - 1];    // 求前缀和
    }
    for (int i = 1; i <= n; i ++)
    {                        // 

标签:前缀,int,样例,蓝桥,Ai,区间
From: https://www.cnblogs.com/xxctx/p/18171735

相关文章

  • 蓝桥杯-分巧克力
    儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi×Wi的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同......
  • php合并时间区间
    需要写一段合并时间区间的代码,写个demo记录下<?php$arr=[["2024-04-1611:25:46","2024-04-1612:19:21"],["2024-04-1603:14:06","2024-04-1610:13:21"],["2024-04-1613:14:59","2024-04-1615:44:46"],......
  • 异或与区间加题解
    异或与区间加题解简要题意给定\(n,m,K,a_{1...n}\),和\(m\)个三元组\((x_i,y_i,z_i)\),定义\(calc(l,r)=a_l\bigoplusa_{l+1}\bigoplus...\bigoplusa_r\)。对于每个三元组\((x,y,z)\),对所有满足\(x\lel\ler\ley\,\calc(l,r)=K\)的区间\((l,r)\)内的每个数\(b......
  • 2024第十五届蓝桥杯网络安全赛项部分题目 WriteUp
    2024第十五届蓝桥杯网络安全赛项部分题目WriteUp爬虫协议根据提示,访问/robots.txt,得到敏感路径/38063b612387b10e22f4bd0d71a46a4e/,访问其中的/9de33df789dc91e984a091e6dce2dfb1得到flag。flag{494547b4-f13f-47de-b1a5-a99f20495cd7}packet使用过滤器tcpcontains"fla......
  • 算法学习笔记(14):区间最值操作和历史最值问题
    区间最值操作,历史最值问题来源吉老师2016集训队论文,oiwiki,网络上各种博客。概述区间最值操作指的是:将所有的$i\in$\((l,r)\),\(a_i=min或max(a_i,k)\)。历史最值问题指的是:新定义一个数组\(b[]\),\(b[i]=max或min(b[i],a[i])\)。还有一种是历史版本和,即\(......
  • 第十五届蓝桥杯 网络安全赛道 ezjava
    1.前言前一秒还在robots.txt找flag,下一秒就java内存马了,还不出网,这很......
  • 蓝桥杯-数的划分(DFS)
    0.题目问题描述将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1;问有多少种不同的分法。输入格式n,k输出格式一个整数,即不同的分法样例输入73样例输出4数据......
  • 力扣-598. 区间加法 II
    1.题目题目地址(598.区间加法II-力扣(LeetCode))https://leetcode.cn/problems/range-addition-ii/题目描述给你一个mx n的矩阵 M和一个操作数组op。矩阵初始化时所有的单元格都为0。ops[i]=[ai,bi]意味着当所有的0<=x<ai和0<=y<bi时,M[x][y]应......
  • 36天【代码随想录算法训练营34期】第八章 贪心算法 part05( ● 435. 无重叠区间 ● 7
    435.无重叠区间classSolution:deferaseOverlapIntervals(self,intervals:List[List[int]])->int:count=0intervals.sort(key=lambdax:x[0])foriinrange(1,len(intervals)):ifintervals[i][0]<intervals[i-......
  • 56. 合并区间(leetcode)
    https://leetcode.cn/problems/merge-intervals/?envType=study-plan-v2&envId=top-100-liked合并区间练习题typedefpair<int,int>PII;vector<PII>segs;classSolution{public:vector<vector<int>>merge(vector<vector<int>>......