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

精简新闻网站开发榆林百度seo

精简新闻网站开发,榆林百度seo,如何注册有限公司,相机拍照的图片怎么做网站呀k倍区间 原题目链接 题目描述 给定一个长度为 N 的数列 A₁, A₂, ⋯, Aₙ,如果其中一段连续的子序列 Aᵢ, Aᵢ₊₁, ⋯, Aⱼ (i ≤ j) 之和是 K 的倍数,我们就称这个区间 [i, j] 是 K 倍区间。 请你求出数列中总共有多少个 K 倍区间。 输入描述 第…

k倍区间

原题目链接

题目描述

给定一个长度为 N 的数列 A₁, A₂, ⋯, Aₙ,如果其中一段连续的子序列 Aᵢ, Aᵢ₊₁, ⋯, Aⱼ (i ≤ j) 之和是 K 的倍数,我们就称这个区间 [i, j]K 倍区间

请你求出数列中总共有多少个 K 倍区间


输入描述

  • 第一行包含两个整数 NK (1 ≤ N, K ≤ 10⁵)。
  • 接下来 N 行,每行一个整数 Aᵢ (1 ≤ Aᵢ ≤ 10⁵),表示数列的每个元素。

输出描述

输出一个整数,表示 K 倍区间的数量。


输入样例

5 2
1
2
3
4
5

输出样例

6

c++代码

#include<bits/stdc++.h>
#include<stdio.h>using namespace std;typedef long long ll;
ll N, K, ans = 0;
unordered_map<int, int> mp;
vector<ll> arr;int main() {scanf("%lld %lld", &N, &K);arr = vector<ll>(N + 1, 0);for (ll i = 1; i <= N; i++) {scanf("%lld", &arr[i]);arr[i] += arr[i - 1];}if (K == 1) {printf("%lld", (N * (N - 1)) / 2 + N);return 0;}for (int i = 0; i <= N; i++) mp[arr[i] % K]++;for (auto it = mp.begin(); it != mp.end(); it++) ans += ((it->second * (it->second - 1)) / 2);printf("%lld", ans);return 0;
}//by wqs

算法解析

首先前缀和想得到吧

for (ll i = 1; i <= N; i++) {scanf("%lld", &arr[i]);arr[i] += arr[i - 1];
}

现在有了前缀和数组

我们要找两个端点i, j,使得

(arr[j] - arr[i]) % k == 0
假设arr[j] % k = c, arr[i] % k = d,
根据取模公式(arr[j] - arr[i]) % k = c - d。
也就是我们要让c - d = 0,也就是c == d。
现在我们的任务转换为求有多少组i,j满足arr[i] % k == arr[j] % k。
for (int i = 0; i <= N; i++) mp[arr[i] % K]++;
for (auto it = mp.begin(); it != mp.end(); it++) ans += ((it->second * (it->second - 1)) / 2);//排列组合
printf("%lld", ans);
http://www.dtcms.com/wzjs/129280.html

相关文章:

  • 开个网站多少钱一年聊石家庄seo
  • 电子邀请函免费制作app北京百度推广优化排名
  • 中山精品网站建设方案搜索指数的数据来源
  • 金融行业网站建设方案自己搭建一个网站
  • wordpress网站导入网络营销策划的具体流程是
  • 个人网站的内容精准营销策略都有哪些
  • 义务网站建设seo技术交流
  • 网站建设手机站友情链接交换网站
  • 做外贸自己的公司网站网络的推广方式有哪些
  • 网站开发属于什么科目百度识图搜索图片来源
  • 设置网站开场动画推广普通话文字内容
  • 成都学习网站建设网站推广经验
  • asp做学生信息网站环球资源网官方网站
  • 广州网站建设 企业seo站群优化
  • 网站建设与管理技能测试题自己怎么注册网站
  • 做外贸怎么登陆国外网站宣传软文怎么写
  • 可以做富集分析的网站网络营销手段有哪些方式
  • 网站建设工作室是干嘛的网店如何引流与推广
  • 那种软件可以做视频网站网络推广 网站制作
  • 建网站新科网站建设西安做推广优化的公司
  • vps如何放置网站网站建设方案推广
  • 聚美优品的网站建设南宁百度seo公司
  • 如何快速找到做网站的客户网站排名推广
  • 重庆孝爱之家网站建设软件培训机构排名
  • 深圳做网站建设比较好的公司怎么优化一个网站
  • 建设银行指定网站推广方案怎么做
  • wordpress 语言设置中文优化设计答案四年级上册语文
  • 用自己电脑配置服务器做网站谷歌排名网站优化
  • 松江php网站开发培训seo优化师就业前景
  • 网络域名怎么申请网站查询工具seo