1882 前缀和,模K数组,组合数 摘要:```cpp #include using namespace std; using ll = long long; const int N = 1e5 + 8; ll a[N],pre…… 题解列表 2024年10月13日 0 点赞 0 评论 43 浏览 评分:0.0
蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要: 前缀和对 K 取模,统计答案的时候就是前面有多少个前缀和与该位置前缀和 % K 下相等,这样相减之后这些区间和 % K 下等于 0,也就是 K 的倍数了,我用分块来维护(数据结构学傻了…… 题解列表 2019年05月21日 0 点赞 1 评论 349 浏览 评分:0.0
蓝桥杯2017年第八届真题-k倍区间 摘要:求前缀和a[ ],各自对K取模,若是a[i] == 0,代表他自身就符合条件,ans++,这是答案的一部分;若取模后 != 0,则将相同的模分类计数,在相同模的前缀中任意选两个位置相减即满足条件,所以…… 题解列表 2022年03月21日 0 点赞 0 评论 175 浏览 评分: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==…… 题解列表 2020年01月31日 0 点赞 1 评论 466 浏览 评分:4.8
蓝桥杯2017年第八届真题-k倍区间 (C++代码)前缀和O(n)算法 摘要:``` 求区间和,可以通过前缀和来得到各个区间的和。A[i]表示第 1 个元素到第 i 个元素的和。那么 A[r] - A[l - 1] 就是区间 [l, r] 的和。区间 [l, r] 的和如果是…… 题解列表 2019年08月24日 0 点赞 0 评论 981 浏览 评分:6.0
蓝桥杯2017年第八届真题-k倍区间 (C++代码) 摘要:解题思路:注意事项:参考代码:#include <iostream> #include <cstdio> #include <cstring> using namespace std; #de…… 题解列表 2019年03月07日 0 点赞 2 评论 886 浏览 评分:8.0
蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) 摘要:### 解题思路:s[i]表示1~i的前缀和,每次累加i下标前,s[i]%k的余数的个数,就是一个k倍区间。这里有些难理解,例如: s[t]表示1 ~ t的前缀和,他们模k的余数为p, 那么当s[i]…… 题解列表 2020年10月11日 0 点赞 0 评论 600 浏览 评分:8.4
c++同余数定理解决 摘要:解题思路:原本想利用前缀和解决问题,但是看到数据量如此庞大就知道需要进行优化了 核心就是 a mod k == b mod 时,|a-b| mod k==0 利用这个就可以进行优化注意事项:参考代码:…… 题解列表 2024年03月25日 0 点赞 0 评论 174 浏览 评分:9.9
1882: 蓝桥杯2017年第八届真题-k倍区间 摘要:解题思路:注意事项:1、数据比较多(n=1e5),建议用scanf读入2、最坏的情况前缀和是10万的平方,1e10,int最多2x10^9,开long long,ans也是3、时间复杂度->o(n^2…… 题解列表 2022年02月24日 0 点赞 0 评论 224 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 摘要:参考了别人的题解 ```cpp #include using namespace std; int n,k; long long num[100005];//注意long long不然范围不…… 题解列表 2022年03月27日 0 点赞 0 评论 276 浏览 评分:9.9