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

网站建设服务咨询今日新闻内容摘抄

网站建设服务咨询,今日新闻内容摘抄,全球游戏制作公司排名,做网站用的产品展示横幅题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 对于此题首先想到的是暴力分析,使用前缀和,这样方便算出每一区间的大小,枚举长度和其实位置,循环计算出所有区间的和进行判断,输出答案。 非满分暴力写法&#…

题目描述

“蓝桥杯”练习系统 (lanqiao.cn)

题目分析

对于此题首先想到的是暴力分析,使用前缀和,这样方便算出每一区间的大小,枚举长度和其实位置,循环计算出所有区间的和进行判断,输出答案。

非满分暴力写法:

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef long long ll;
ll a[N], s[N], n, k, ans;
int main()
{cin >> n >> k;for(int i = 1; i <= n; i ++){cin >> a[i];s[i] = s[i - 1] + a[i];}for(int i = 1; i <= n; i ++)//长度 {for(int j = 1; j <= n; j ++)//起始位置 {int r = j + i - 1;if(r <= n){int q = s[r] - s[j - 1];if(q % k == 0)ans ++;} } }cout << ans;return 0;
}

以上两重循环超时,我们把其改为一重循环

由s[r] - s[l - r] % k == 0 推出 s[r] % k == s[l - 1] % k

故我们需要固定循环右端点,确定下与此点对应相同的之前点的个数,有多少个一样的点就说明出现了多少个k倍区间,将个数加入答案即可

此点对应的值 + 1,故为cnt[s[i] % k] ++

满分代码如下:

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef long long ll;
ll a[N], s[N], cnt[N], n, k, ans;
int main()
{cin >> n >> k;for(int i = 1; i <= n; i ++){cin >> a[i];s[i] = s[i - 1] + a[i];}cnt[0] = 1;//注:s[0] % k == 0,故循环之前为0的数已经有一个 for(int i = 1; i <= n; i ++){ans += cnt[s[i] % k];cnt[s[i] % k] ++;}cout << ans;return 0;
}
http://www.ds6.com.cn/news/79085.html

相关文章:

  • qt做网站旅游网络营销的渠道有哪些
  • 有哪些做平面设计好的网站佛山百度推广公司
  • 企业服务网站建设方案企业宣传
  • 企业门户网站建设情况汇报竞价推广思路
  • 国外专门做视频翻译网站杭州网站关键词排名
  • 网站效果图用什么做网址查询注册信息查询
  • 武汉手机网站建设公司排名百度推广合作
  • 如何在自己网站做直播打开百度一下的网址
  • 做网站没有创意市场营销策略有哪4种
  • 做网站muse好还是DW好用安徽网站推广
  • mip网站模板采集站seo赚钱辅导班
  • 做网站好几个cssseo咨询常德
  • 清理网站数据库seopeixun com cn
  • 昌乐营销型网站建设南宁seo优化
  • 阿里巴巴国际站买家版怀化网站seo
  • 无锡网站建设公司平台推广精准客源
  • 快速建站介绍福州百度网站快速优化
  • 做网站优化公司报价网页设计模板网站
  • 网站开发最新教程关键词提取工具app
  • 遵义公司做网站焊工培训内容有哪些
  • wordpress vr杭州龙席网络seo
  • 聊城网站建设推广seo赚钱吗
  • 广西金水建设开发有限公司网站百度服务热线
  • 山东德州如何网站建设教程招工 最新招聘信息
  • 北京优酷首页培训机构关键词优化计划
  • 网站监控怎么做会计培训班
  • wap门户网站中山谷歌推广
  • 云南旅行社网站建设天津百度快速优化排名
  • 梅州建设工程交易中心网站crm客户管理系统
  • 手机网站如何做优化网络培训研修总结