1882: 蓝桥杯2017年第八届真题-k倍区间(3.17) 解题思路:如果把所有区间分为k倍区间和非k倍区间,观察一下他们之间的区别,k倍区间的和modk后等于0,而非k倍区间的和modk后等于n,n是介于1至k-1的数.再来思考一下如何得到k倍区间,第一种情况,本身就是k倍区间,不那么用做任何操作, 题解列表 2022年03月17日 0 点赞 1 评论 789 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间 求前缀和a[],各自对K取模,若是a[i]==0,代表他自身就符合条件,ans++,这是答案的一部分;若取模后!=0,则将相同的模分类计数,在相同模的前缀中任意选两个位置相减即满足条件,所以另一部分答案为:在m个相同模的前缀和中能选出多少个两两组合(i 题解列表 2022年03月21日 0 点赞 0 评论 637 浏览 评分:0.0 蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 参考了别人的题解```cpp#includeusingnamespacestd;intn,k;longlongnum[100005];//注意longlong不然范围不够!!!intcnt[100005];longlongans;//这里也是!!!intmain(){cin>>n>>k;for(int 题解列表 2022年03月27日 0 点赞 0 评论 767 浏览 评分:9.9 蓝桥杯2017年第八届真题-k倍区间【前缀和+数学优化】 最先想到的应该是静态的前缀和,利用前缀和求区间和:不多说了,比较简单,就是求Ai~Aj的和```cpp#includeusingnamespacestd;intn,k;intA[100001];intsum[100001];intcnt=0;intmain(){cin>>n>>k;for(inti=1 题解列表 2022年04月04日 0 点赞 0 评论 859 浏览 评分:9.9 前缀和数组+数论中的组合思想优化 摘要:解题思路: 这是蓝桥杯2017年B组的最后一道编程题。 首先此题想到前缀和的思想,用前缀和数组的两项相减得到字串之和,能通过33%的数据,差不多是N<=1000左右时能通过。 其次如果想要100%通…… 题解列表 2022年04月08日 0 点赞 0 评论 686 浏览 评分:9.9 k倍区间 (Java代码) 摘要:import java.util.Scanner; public class Main { public static void main(String []args){ …… 题解列表 2022年06月12日 0 点赞 0 评论 654 浏览 评分:0.0 蓝桥杯2017年第八届真题-k倍区间 ##枚举,前缀和,同余定理**解题思路**:用前缀和预处理+枚举区间两端点的时间复杂度是O(n^2^)的,不够高效。我们可以用一些数论知识进一步优化。[同余定理](https://baike.baidu.com/item/%E5%90%8C%E4%BD%99%E5%AE%9A%E7%90%86/121 题解列表 2023年02月14日 0 点赞 0 评论 787 浏览 评分:9.9 蓝桥杯2017年第八届真题-k倍区间(C代码) 摘要:解题思路: 注意事项:参考代码:#include<stdio.h> int main(){ int n,k,i; scanf("%d%d",&n,&k); …… 题解列表 2023年03月18日 0 点赞 0 评论 562 浏览 评分:0.0 前缀和+组合数+取余公式转换 解题思路:注意事项:(b-a)%k=(b%k-a%k)%k,因为两个余数一样的话,相减就是0啊!!!!!!!!!!所以任取余数相同的两个数参考代码:n,k=map(int,input().split())a=[0]sum=[0]*(n+10)cnt=0st=[0]*(n+10)foriinrange( 题解列表 2023年04月02日 0 点赞 0 评论 620 浏览 评分:0.0 17行代码解决 如果第i+k个前缀和第i个前缀和的余数相等,那么区间(i,i+k)是k的倍数```cpp#includeusingnamespacestd;constintnmax=1e5+5;longlongans,n,k,cnt[nmax],sum;intmain(){cin>>n>>k;cnt[0]=1;for 题解列表 2023年04月07日 0 点赞 0 评论 656 浏览 评分:9.9 « 123 »
蓝桥杯2017年第八届真题-k倍区间 巧妙的结算 参考了别人的题解```cpp#includeusingnamespacestd;intn,k;longlongnum[100005];//注意longlong不然范围不够!!!intcnt[100005];longlongans;//这里也是!!!intmain(){cin>>n>>k;for(int 题解列表 2022年03月27日 0 点赞 0 评论 767 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间【前缀和+数学优化】 最先想到的应该是静态的前缀和,利用前缀和求区间和:不多说了,比较简单,就是求Ai~Aj的和```cpp#includeusingnamespacestd;intn,k;intA[100001];intsum[100001];intcnt=0;intmain(){cin>>n>>k;for(inti=1 题解列表 2022年04月04日 0 点赞 0 评论 859 浏览 评分:9.9
前缀和数组+数论中的组合思想优化 摘要:解题思路: 这是蓝桥杯2017年B组的最后一道编程题。 首先此题想到前缀和的思想,用前缀和数组的两项相减得到字串之和,能通过33%的数据,差不多是N<=1000左右时能通过。 其次如果想要100%通…… 题解列表 2022年04月08日 0 点赞 0 评论 686 浏览 评分:9.9
k倍区间 (Java代码) 摘要:import java.util.Scanner; public class Main { public static void main(String []args){ …… 题解列表 2022年06月12日 0 点赞 0 评论 654 浏览 评分:0.0
蓝桥杯2017年第八届真题-k倍区间 ##枚举,前缀和,同余定理**解题思路**:用前缀和预处理+枚举区间两端点的时间复杂度是O(n^2^)的,不够高效。我们可以用一些数论知识进一步优化。[同余定理](https://baike.baidu.com/item/%E5%90%8C%E4%BD%99%E5%AE%9A%E7%90%86/121 题解列表 2023年02月14日 0 点赞 0 评论 787 浏览 评分:9.9
蓝桥杯2017年第八届真题-k倍区间(C代码) 摘要:解题思路: 注意事项:参考代码:#include<stdio.h> int main(){ int n,k,i; scanf("%d%d",&n,&k); …… 题解列表 2023年03月18日 0 点赞 0 评论 562 浏览 评分:0.0
前缀和+组合数+取余公式转换 解题思路:注意事项:(b-a)%k=(b%k-a%k)%k,因为两个余数一样的话,相减就是0啊!!!!!!!!!!所以任取余数相同的两个数参考代码:n,k=map(int,input().split())a=[0]sum=[0]*(n+10)cnt=0st=[0]*(n+10)foriinrange( 题解列表 2023年04月02日 0 点赞 0 评论 620 浏览 评分:0.0
17行代码解决 如果第i+k个前缀和第i个前缀和的余数相等,那么区间(i,i+k)是k的倍数```cpp#includeusingnamespacestd;constintnmax=1e5+5;longlongans,n,k,cnt[nmax],sum;intmain(){cin>>n>>k;cnt[0]=1;for 题解列表 2023年04月07日 0 点赞 0 评论 656 浏览 评分:9.9