蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) 摘要:```cpp /*k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i a[i]; modK[i] …… 题解列表 2020年08月21日 0 点赞 0 评论 988 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间(模运算) 摘要:解题思路:计算前缀和后取余,余数一致即相差k倍.注意事项:c++注意开long long,注意从0开始。参考代码:#include<bits/stdc++.h> using namespace st…… 题解列表 2023年08月29日 0 点赞 0 评论 186 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间【前缀和+数学优化】 摘要:最先想到的应该是静态的前缀和,利用前缀和求区间和: 不多说了,比较简单,就是求Ai~Aj的和 ```cpp #include using namespace std; int n,k; i…… 题解列表 2022年04月04日 0 点赞 0 评论 350 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 前缀和 摘要:解题思路:#include <iostream> using namespace std; typedef long long ll; const int N = 1e5 + 10; …… 题解列表 2024年04月16日 0 点赞 0 评论 179 浏览 评分:9.9
1882: 蓝桥杯2017年第八届真题-k倍区间(3.17) 摘要:解题思路:如果把所有区间分为k倍区间和非k倍区间,观察一下他们之间的区别,k倍区间的和modk后等于0,而非k倍区间的和modk后等于n,n是介于1至k-1的数.再来思考一下如何得到k倍区间,第一种情…… 题解列表 2022年03月17日 0 点赞 1 评论 421 浏览 评分:9.9
17行代码解决 摘要:如果第i+k个前缀和第i个前缀和的余数相等,那么区间(i,i+k)是k的倍数 ```cpp #include using namespace std; const int nmax = 1e…… 题解列表 2023年04月07日 0 点赞 0 评论 210 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间-题解(C++代码) 摘要:解题思路: 1、 N 的范围上限是100,000,直接枚举 i 和 j 必然超时,所以使用前缀和将 Ai+1 + …… + Aj 变为 Sj - …… 题解列表 2020年08月31日 0 点赞 0 评论 880 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 摘要:参考了别人的题解 ```cpp #include using namespace std; int n,k; long long num[100005];//注意long long不然范围不…… 题解列表 2022年03月27日 0 点赞 0 评论 289 浏览 评分:9.9
c++同余数定理解决 摘要:解题思路:原本想利用前缀和解决问题,但是看到数据量如此庞大就知道需要进行优化了 核心就是 a mod k == b mod 时,|a-b| mod k==0 利用这个就可以进行优化注意事项:参考代码:…… 题解列表 2024年03月25日 0 点赞 0 评论 179 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 摘要:解题思路: sum[i]表示前i项的和,如果(sum[j] - sum[i])%k ==0(i<=j),即sum[i]%k==sum[j]%k,则区间[i+1,j]之和是k的倍数,然后用sum[i…… 题解列表 2022年01月14日 0 点赞 0 评论 455 浏览 评分:9.9