蓝桥杯2017年第八届真题-k倍区间 求前缀和a[],各自对K取模,若是a[i]==0,代表他自身就符合条件,ans++,这是答案的一部分;若取模后!=0,则将相同的模分类计数,在相同模的前缀中任意选两个位置相减即满足条件,所以另一部分答案为:在m个相同模的前缀和中能选出多少个两两组合(i 题解列表 2022年03月21日 0 点赞 0 评论 637 浏览 评分:0.0 蓝桥杯2017年第八届真题-k倍区间 前缀和 摘要:解题思路:注意事项:参考代码:#include"bits/stdc++.h"usingnamespacestd;#definell&nb…… 题解列表 2025年04月08日 0 点赞 0 评论 525 浏览 评分:0.0 1882 前缀和,模K数组,组合数 ```cpp#includeusingnamespacestd;usingll=longlong;constintN=1e5+8;lla[N],prefix[N],cnt[N];intmain(){ios::sync_with_stdio(0), 题解列表 2024年10月13日 0 点赞 0 评论 511 浏览 评分:0.0 蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要: 前缀和对 K 取模,统计答案的时候就是前面有多少个前缀和与该位置前缀和 % K 下相等,这样相减之后这些区间和 % K 下等于 0,也就是 K 的倍数了,我用分块来维护(数据结构学傻了…… 题解列表 2019年05月21日 0 点赞 1 评论 934 浏览 评分:0.0 蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) 思路:前缀和,用sum[i]表示前i项和,那么区间[l,r]的和就是sum[r]-sum[l-1],因为要是k的倍数,所以(sum[r]-sum[l-1])%k==0,整理一下就是sum[r]%k==sum[l-1]%k,所以统计让这个式子成立的项就好了。 题解列表 2020年01月31日 0 点赞 1 评论 1403 浏览 评分:4.8 蓝桥杯2017年第八届真题-k倍区间 (C++代码)前缀和O(n)算法 ```求区间和,可以通过前缀和来得到各个区间的和。A[i]表示第1个元素到第i个元素的和。那么A[r]-A[l-1]就是区间[l,r]的和。区间[l,r]的和如果是k的倍数,那么(A[r]-A[l-1])%k==0即A[r]%k==A[l-1]%k那么可以求出每个前缀和, 题解列表 2019年08月24日 0 点赞 0 评论 1941 浏览 评分:6.0 蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要:解题思路:注意事项:参考代码:#include <iostream> #include <cstdio> #include <cstring> using namespace std; #de…… 题解列表 2019年03月07日 0 点赞 2 评论 2363 浏览 评分:8.0 蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) ###解题思路:s[i]表示1~i的前缀和,每次累加i下标前,s[i]%k的余数的个数,就是一个k倍区间。这里有些难理解,例如:s[t]表示1~t的前缀和,他们模k的余数为p,那么当s[i](i>k)模k的余数也为p时,就证明t~i这一段和模k是等于0的,正好是k的倍数。 题解列表 2020年10月11日 0 点赞 0 评论 1248 浏览 评分:8.4 蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 参考了别人的题解```cpp#includeusingnamespacestd;intn,k;longlongnum[100005];//注意longlong不然范围不够!!!intcnt[100005];longlongans;//这里也是!!!intmain(){cin>>n>>k;for(int 题解列表 2022年03月27日 0 点赞 0 评论 766 浏览 评分:9.9 蓝桥杯2017年第八届真题-k倍区间 前缀和 摘要:解题思路:#include <iostream> using namespace std; typedef long long ll; const int N = 1e5 + 10; …… 题解列表 2024年04月16日 0 点赞 0 评论 667 浏览 评分:9.9 « 12 »
蓝桥杯2017年第八届真题-k倍区间 前缀和 摘要:解题思路:注意事项:参考代码:#include"bits/stdc++.h"usingnamespacestd;#definell&nb…… 题解列表 2025年04月08日 0 点赞 0 评论 525 浏览 评分:0.0
1882 前缀和,模K数组,组合数 ```cpp#includeusingnamespacestd;usingll=longlong;constintN=1e5+8;lla[N],prefix[N],cnt[N];intmain(){ios::sync_with_stdio(0), 题解列表 2024年10月13日 0 点赞 0 评论 511 浏览 评分:0.0
蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要: 前缀和对 K 取模,统计答案的时候就是前面有多少个前缀和与该位置前缀和 % K 下相等,这样相减之后这些区间和 % K 下等于 0,也就是 K 的倍数了,我用分块来维护(数据结构学傻了…… 题解列表 2019年05月21日 0 点赞 1 评论 934 浏览 评分:0.0
蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) 思路:前缀和,用sum[i]表示前i项和,那么区间[l,r]的和就是sum[r]-sum[l-1],因为要是k的倍数,所以(sum[r]-sum[l-1])%k==0,整理一下就是sum[r]%k==sum[l-1]%k,所以统计让这个式子成立的项就好了。 题解列表 2020年01月31日 0 点赞 1 评论 1403 浏览 评分:4.8
蓝桥杯2017年第八届真题-k倍区间 (C++代码)前缀和O(n)算法 ```求区间和,可以通过前缀和来得到各个区间的和。A[i]表示第1个元素到第i个元素的和。那么A[r]-A[l-1]就是区间[l,r]的和。区间[l,r]的和如果是k的倍数,那么(A[r]-A[l-1])%k==0即A[r]%k==A[l-1]%k那么可以求出每个前缀和, 题解列表 2019年08月24日 0 点赞 0 评论 1941 浏览 评分:6.0
蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要:解题思路:注意事项:参考代码:#include <iostream> #include <cstdio> #include <cstring> using namespace std; #de…… 题解列表 2019年03月07日 0 点赞 2 评论 2363 浏览 评分:8.0
蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) ###解题思路:s[i]表示1~i的前缀和,每次累加i下标前,s[i]%k的余数的个数,就是一个k倍区间。这里有些难理解,例如:s[t]表示1~t的前缀和,他们模k的余数为p,那么当s[i](i>k)模k的余数也为p时,就证明t~i这一段和模k是等于0的,正好是k的倍数。 题解列表 2020年10月11日 0 点赞 0 评论 1248 浏览 评分:8.4
蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 参考了别人的题解```cpp#includeusingnamespacestd;intn,k;longlongnum[100005];//注意longlong不然范围不够!!!intcnt[100005];longlongans;//这里也是!!!intmain(){cin>>n>>k;for(int 题解列表 2022年03月27日 0 点赞 0 评论 766 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 前缀和 摘要:解题思路:#include <iostream> using namespace std; typedef long long ll; const int N = 1e5 + 10; …… 题解列表 2024年04月16日 0 点赞 0 评论 667 浏览 评分:9.9