当前位置: 首页 > news >正文

广州网站建设c2cwordpress个人网站

广州网站建设c2c,wordpress个人网站,网站禁止右键,外贸自建站有哪些解题思路 任何两个前缀区间的和对k取模的值相等,则由大的前缀区间减掉小的前缀区间所形成的区间的必定是K倍区间。因此我们可以对具有区间和%k值相等任何两个区间进行组合,再将这些值加起来就得到结果!证明: 假设一个数列为a1,a2…

在这里插入图片描述
在这里插入图片描述

解题思路

  1. 任何两个前缀区间的和对k取模的值相等,则由大的前缀区间减掉小的前缀区间所形成的区间的必定是K倍区间。
  2. 因此我们可以对具有区间和%k值相等任何两个区间进行组合,再将这些值加起来就得到结果!
  3. 证明: 假设一个数列为a1,a2,a3,…,an,一个小的前缀区间s1为a1,a2,a3,…,ap,还有一个大的前缀区间s2为a1,a2,a3,…,a(p+m),p,p+m<n。
  4. 当我们对s1、s2的和分别取模,得到(a1+a2+a3+…+ap)%k和(a1+a2+a3+…+ap+m)%k,当这两个值相等的时候。
  5. 我们则可以列出这个等式:(a1+a2+a3+…+ap)%k-(a1+a2+a3+…+ap+m)%k=0,根据取模也具有分配律可得到,(a1+a2+a3+…+ap-a1-a2-a3-…-ap+m)%k=0。
  6. 因此可以推出结论,s2-s1得出的区间必定为k倍区间。

代码实现

#include <iostream>
using namespace std;
long long a[100010];
long long cnt[100010];
long long ans = 0;
int main()
{cnt[0]++;int n, k; cin >> n >> k;for(int i = 1; i <= n; i++){cin >> a[i];a[i] += a[i-1];}for(int i = 1; i <= n; i++)  ans += cnt[a[i] % k]++;cout << ans;return 0;
}
http://www.yayakq.cn/news/866643/

相关文章:

  • 个人账号密码网站建设广东工厂网站建设
  • 百度网站做要多少钱wordpress导航怎么弄
  • wordpress 响应式产品展示站wordpress 清楚jq
  • 网站用国外的服务器打不开建设工程检测网
  • 课程网站建设总体情况贵州住房城乡建设厅官方网站
  • 网站建设试题及答案温州专业营销网站制作
  • ps做图 游戏下载网站有哪些内容WordPress限时插件
  • 惠州外贸网站建设网络管理系统组成
  • wordpress多站点403网上商城下载
  • 心理网站模板推广图片模版
  • 三亚网站优化企业宣传片制作拍摄
  • wordpress怎么看免费主题资阳优化团队资讯
  • 校园二手信息网站建设网站建设设计ppt
  • 网站空间不支持php5.4源码下载工具
  • wordpress做社交网站wordpress仿站视频教程
  • 电子商务网站建设用什么语言厦门建设局怎么进
  • 永久免费个人网站注册网站建设技能考试试题三
  • 顺德网站建设公司网络培训师
  • 保健品网站设计个人公司网站建设答辩
  • 沈阳设计网站公司哪家好常见的网络营销与推广的方式
  • 上海网站商城建设公司中铁十六门网户登录
  • 医院科室网站建设常州行业网站制作
  • 旅游网站开发需求报告哪里找免费网站
  • 网站的数据库丢失个人做房产网站有哪些
  • 51CTO学院个人网站开发视频奢侈品回收
  • 街区网站建设的意义做薪酬调查有哪些网站
  • 网站刚做怎么做seo优化邯郸网站设计怎么用
  • 做外贸网站报价电商网站怎样做
  • 网站开发人员 kpi指标小程序免费制作平台登录
  • 网站维护和推广全媒体运营师证书怎么考