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

昆明网站推广8888168德阳seo优化

昆明网站推广8888168,德阳seo优化,广告制作公司转型,小说网站编辑怎么做解题思路 任何两个前缀区间的和对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.15wanjia.com/news/48066.html

相关文章:

  • 专业建设规划ppt惠州市seo广告优化营销工具
  • 义乌品牌网站建设百度词条搜索排行
  • 还有那个网站可以做兼职呢泰安seo培训
  • wordpress编辑器如何增加行距功能武汉seo建站
  • 发明迷网站豆渣做豆腐郑州seo服务
  • 如何查询网站打开速度推广软文案例
  • 开发公司撤销网签起诉书怎么弄网站如何seo推广
  • 献县做网站新开网店自己如何推广
  • 网站建设是做什么的国际新闻网站
  • win10虚拟机做网站山西太原百度公司
  • 社区网站怎么建seo推广软件哪个好
  • 怎么备份wordpress网站株洲seo优化首选
  • 自助建站网站建设怎么做推广比较成功
  • 导航网站移动端流量占比广州最新疫情通报
  • 三桥做网站青岛网络推广公司排名
  • java资源网站青岛网站设计制作
  • 商城网站开发文档好搜自然seo
  • 株洲制作网站南京企业网站排名优化
  • 手机网站底部固定菜单windows优化
  • 单页面网站有哪些品牌营销策划培训课程
  • 桂林做网站公司有哪些网页制作软件推荐
  • 网上兼职做效果图网站有哪些网站app免费生成软件
  • 哪些网站是用wordpress正规排名网站推广公司
  • 垦利县企业型网站建设网络域名
  • 深圳商城网站开发百度指数查询官方网
  • 找公司做网站需要注意自己想做个网站怎么做
  • 合肥网站设计机构全网整合营销推广系统
  • 武汉营销型网站制作公司360推广登陆入口
  • 免费网站免费在线观看关键一招
  • 香港的贸易公司可以做网站吗百度百度一下就知道