蓝桥杯:2017年第八届蓝桥杯省赛B组第十题—PREV-40K倍区间

膜拜这位大佬 做法:首先统计前缀和sum[i] 表示A1+A2+…+Ai.所以对于任意一段区间[l,r]的和就是sum[r]-sum[l-1].如果要保证这个区间和为K倍数就是:(sum[r]-sum[l-1])%k == 0.变形后就是:sum[r]%k==sum[l-1]%k,所以我们计算前缀和的时候顺带模K,然后统计前缀和中相同的数据就行了。复杂度O(n).注意数据可能会溢出!! 作者:Yz
相关文章
相关标签/搜索