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

民族建设集团有限公司官方网站众创空间那个网站做的好

民族建设集团有限公司官方网站,众创空间那个网站做的好,seo教程百度云,天河网站建设优化题目描述 给定一个长度为 NN 的数列,A1,A2,⋯ANA1​,A2​,⋯AN​,如果其中一段连续的子序列 Ai,Ai1,⋯AjAi​,Ai​1,⋯Aj​ ( i≤ji≤j ) 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 KK 倍区间吗&a…

题目描述

给定一个长度为 NN 的数列,A1,A2,⋯ANA1​,A2​,⋯AN​,如果其中一段连续的子序列 Ai,Ai+1,⋯AjAi​,Ai​+1,⋯Aj​ ( i≤ji≤j ) 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。

你能求出数列中总共有多少个 KK 倍区间吗?

输入描述

第一行包含两个整数 N 和 K( 1≤N,K≤10 1≤N,K≤10 )。

以下 N 行每行包含一个整数 AiAi​ ( 1≤Ai≤10^{5}^{}1≤Ai​≤10^{5} )

输出描述

输出一个整数,代表 K 倍区间的数目

输入输出样例

示例

输入

5 2
1
2
3
4
5

输出

6

 首先想到的是暴力for(for()),两个数组去求,先从第一个数开始,加到最后一个,再从第二个开始,加到最后一个。问题就是会超时。

 

这个算法利用的是前缀和的知识,每一项都加上前一项,直到最后一项,求出所有的前缀和

从i>0开始,

求出每一项加上前一项的前缀和,

求出次和模的余数,将余数作为数组的下标,求出所有余数数量

用到一个重要知识点:任何两个前缀区间的和对k取模的值相等,则由大的前缀区间减掉小的前缀区间所形成的区间的必定是K倍区间(在官网上看到的题解,感觉思路很好)

任何两个前缀区间的个数\displaystyle C_{n}^{2}=(n*(n-1))/2,n=res[i];

注:1.不要忘记a[0],也要进行取模,res++;

2.类型要用 long long 

#include<bits/stdc++.h>
using namespace std;const int N=1e5+100;
typedef long long int ll;
int main()
{// 请在此输入您的代码int n,k;cin>>n>>k;ll a[N];ll sum=0;ll res[N]={0};for(int i=0;i<n;i++){cin>>a[i];if(i>0){a[i]+=a[i-1];//求和}res[a[i]%k]++;}sum=res[0];for(int i=0;i<k;i++){sum+=(res[i]*(res[i]-1))/2;}cout<<sum;return 0;
}

 

http://www.dtcms.com/wzjs/557175.html

相关文章:

  • 适合个人站长的网站有哪些wordpress导航栏字体
  • 转化率的网站设计建立网站得多少钱
  • 网站备案教育审批号设计网站要多少钱
  • 保定做网站的公司中山做百度网站的公司名称
  • 莱钢建设网站北京系统开发网站建设
  • 企业微网站案例动漫网站设计与实现
  • 建设银行北京市分行网站的博客wordpress
  • 网站建设配置jquery效果网站
  • 海尔集团网站的网络营销是什么凡科做的网站为什么打不开
  • dedecms精仿学校网站模板.net 开源 企业网站
  • 虚拟网站多少钱网络电子商务购物网站
  • 建设网站推销找人做网站!!! 网站定制开发
  • 建站怎么赚钱甘肃省广电网络公司网站
  • 网站建设dream青州网站建设青州
  • 手机网站做指向校园网站建设教程视频
  • 电子商务网站建设课程设计代码友情链接还有用吗
  • 苏州 网站设计绥化市新闻最新消息
  • 做电子请帖网站有哪些互联网营销公司经营范围
  • 做团购网站关于门户网站建设的请示
  • 彩票娱乐网站建设开发网站开发需要经过的几个主要阶段
  • 怎样做网站内链如何设计一个实验方案
  • 成都网站推广游戏网站建设的目的
  • python做的网站如何部署城乡建设网站首页
  • 不备案的网站深圳网站营销型建设
  • 网站品牌建设功能为什么没人做团购网站
  • 观山湖制作网站seo好学吗入门怎么学
  • 长春建站宣传长沙网络科技有限公司有哪些
  • 无锡营销型网站制作在线书店网站怎么做
  • 设计网站需要的知识上海网站建设流
  • 西安 网站搭建制作单页网站