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

phpcms做企业网站授权网络运营商怎么联系

phpcms做企业网站授权,网络运营商怎么联系,无极在线观看,凡科做的网站怎么改壁纸题目描述 给定一个长度为 NN 的数列,A1,A2,⋯ANA1​,A2​,⋯AN​,如果其中一段连续的子序列 Ai,Ai1,⋯Aj(i≤j)Ai​,Ai1​,⋯Aj​(i≤j) 之和是 KK 的倍数,我们就称这个区间 [i,j][i,j] 是 KK 倍区间。 你能求出数列中总共有多少个 KK 倍区…

题目描述

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

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

输入格式

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

以下 NN 行每行包含一个整数 AiAi​(1≤Ai≤105)(1≤Ai​≤105)。

输出格式

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

输入输出样例

输入 #1复制

5 2
1  
2  
3  
4  
5  

输出 #1复制

6

说明/提示

时限 2 秒, 256M。蓝桥杯 2017 年第八届

做法

这题我们用前缀和来写,暴力做法是对于每个右端点,枚举每个左端点,符合的区间就加一,当然,这太暴力了。我们求区间个数一般都是先遍历右端点,然后左端点个数 O(1) 就能求出来了,就是直接查询。

然后我们想,qzh[i]-qzh[j](区间j+1到i)是k的倍数,就是qzh[i]-qzh[j]在余k的条件下和0相同,那就是qzh[i]在余k的条件下和qzh[j]相同。那么,我们枚举右端点,只要有和它的余数相同的,就是符合的左端点。但是这样复杂度并没有降下去。

其实正确做法是,我们知道了0到k-1的每个余数的个数,那么我们就从中选两个,有多少种组合,就有多少个区间。这就用到了组合数。

有一个特殊情况,当余数是0时,单个也是符合条件的,所以要再加上余数是0的个数。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a,k,sum,ans;
map<int,int> mp;
signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>n>>k;for(int i=1;i<=n;i++){cin>>a;sum+=a%k;sum%=k;mp[sum]++;}for(int i=0;i<k;i++){if(i==0) ans+=mp[i]*(mp[i]-1)/2+mp[i];else{ans+=mp[i]*(mp[i]-1)/2;}}cout<<ans;}

http://www.yayakq.cn/news/466352/

相关文章:

  • 开滦建设集团网站网站建设各单位强化沟通协作
  • 襄阳网站建设网络营销与直播电商专业学什么
  • 网站文章好几天不收录线上运营公司
  • 专业网站网站建设 经济效益
  • 学校网站建设框架老版本网站开发工具
  • 个人建站赚钱建设厅安全员证
  • 西安搭建网站网页设计实训心得体会500字
  • 网站设计制作 一年价格dream网站怎么做框架
  • 做网站啦代理的方法免费建网站的平台
  • 小程序代理商好做吗优化网站排名技巧
  • 创建销售网站多少钱我国政务网站建设统计
  • 门户网站建设平台百度收录WordPress文章
  • 非常成功的网站wordpress调用模版
  • 中国建设银行网站保定五四路中山骏域网站建设
  • 重庆网站建设及推广公司面试问你如何快速优化网站
  • 开放平台设计重庆seo论
  • 免费邯郸网站建设北京最大的广告制作公司
  • google 网站突然一条收录也没有模板做的网站如何下载地址
  • 网站建设相关文献wordpress模板定做
  • 使用wordpress建站域名与空间购买后怎么做网站
  • 无锡做食品网站的公司企业seo排名外包
  • 泰州企业做网站网站首页包括哪些内容
  • 闸北网站推广公司网站设计宽度
  • 58招聘运营网站怎么做网站服务器租用时间
  • 苏州和城乡建设局网站首页用jsp做的网站在不同浏览器显示效果差异很大如何解决
  • 怎么切图做网站长沙哪家网站公司
  • 顺德网站建设如何数控编程培训
  • 同ip网站有什么危害网站建设销售员话术
  • 为什么一个网站外链那么多装企erp管理系统
  • 专业的新乡网站建设快速开发小程序