首页 > 其他分享 >k倍区间 | 前缀和

k倍区间 | 前缀和

时间:2023-03-22 11:36:15浏览次数:43  
标签:cnt 前缀 int ios long 区间 tie

k倍区间 - 蓝桥云课 (lanqiao.cn)

 

 

 1 #include<iostream>
 2 using namespace std;
 3 #define ios_base \
 4     ios::sync_with_stdio(false);\
 5     cin.tie(nullptr);\
 6     cout.tie(nullptr)
 7 const int N = 1e5+10;
 8 int n,k;//cnt[]用来计数不同余数的出现次数
 9 long long a[N],cnt[N];//cnt[]的下标可不只有0~9这么简单,举个例子:999%9999,保险起见还是开long long cnt[],而a[]要作为前缀和数组所以也要开大点
10 long long res=0;
11 int main()
12 {
13     ios_base;
14     cin>>n>>k;
15     for (int i = 1; i <= n; i++)
16     {
17         cin>>a[i];
18         a[i]+=a[i-1];//构建前缀和数组
19     }
20     cnt[0]++;
21     for (int i = 1; i <= n; i++)
22     {
23         res+=cnt[a[i]%k];
24         cnt[a[i]%k]++;
25     }
26     cout<<res<<'\n';
27 
28     return 0;
29 }

 

标签:cnt,前缀,int,ios,long,区间,tie
From: https://www.cnblogs.com/shinnyblue/p/17243063.html

相关文章

  • css针对各个浏览器的前缀是什么
    css针对各个浏览器的前缀是什么:现在写css3代码的时候,为了实现兼容性,需要在前面加前缀以便兼容对应的浏览器。下面就列举一下前缀的写法:-webkit//Webkit内核,例如谷歌......
  • Leetcode 14. 最长公共前缀(模拟)
    题目链接在这里:最长公共前缀虽然是很简单的模拟题,但是鼠鼠学习了很多面向对象编程中遇到的一些问题,具体的可以看这个链接python中的静态方法与实例方法classSolution:......
  • 差分处理修改区间问题
    #题目链接Problem-C-Codeforces 转换为差分后操作一:a1--a(i+1)++操作二:ai--操作三;a1++转换为差分数组后就可以转换问题为是的出了差分数组第一个元素外都......
  • 【LeetCode贪心#10】划分字母区间(有涉及hash数组的使用)
    划分字母区间力扣题目链接(opensnewwindow)字符串S由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串......
  • MySql前缀索引解析
    一、什么是前缀索引所谓前缀索引,说白了就是对文本的前几个字符建立索引(具体是几个字符在建立索引时去指定),比如以产品名称的前10位来建索引,这样建立起来的索引更小,查询效......
  • 二分法:区间的重要性(初探)
    哈喽,我是404,正在努力提升代码能力的未来女程序员(笑),这是我的第一篇博客,接下来会记录我的学习之路到我力扣完全可以手撕,废话不多说,正文开搞!通过初见力扣经典题目704.二......
  • Leetcode 5.最长回文子串(区间dp)
    题目链接在这里:5.最长回文子串-力扣(LeetCode)首先肯定是个n^2的算法,枚举起点也是必要的,但是枚举终点很显然不行,但是考虑到回文串会向下兼容,因此我们可以枚举长度,这就是......
  • 幼儿园的区间贪心
    由于我很菜,连这种基本的问题都不能做到百分百会证明,会运用,所以我就来写一下来加深影响。Umnik子云:Stoplearninguselessalgorithm!选择最多不相交区间我们想怎么解决......
  • 区间合并
    题目给定\(n\)个区间\([l_i,r_i]\),要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:\([1,3]\)和\([2,6]\)可以合并......
  • 前缀和与差分
    差分是前缀和的逆操作差分可以再O(1)的时间里让区间[x,y]进行加减操作求出差分数组即可求出操作后的数组一维差分例题:HDU1556for(inti=1;i<=n;i++){intL,R;cin......