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

蓝桥杯每日一题2023.11.11

题目描述

“蓝桥杯”练习系统 (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.lryc.cn/news/226894.html

相关文章:

  • 『Linux升级路』基础开发工具——vim篇
  • 【Excel】补全单元格值变成固定长度
  • HackTheBox-Starting Point--Tier 2---Base
  • 算法导论笔记4:散列数 hash
  • 知识蒸馏概述及开源项目推荐
  • jupyter notebook中markdown改变图像大小
  • SpringGateWay——yml文件配置详解
  • Haproxy实现七层负载均衡
  • k8s最详细集群部署
  • Redis底层数据结构:字典
  • upload 文件自动上传写法,前后端 下载流文件流
  • Python文件、文件夹操作汇总
  • CHM Viewer Star 6.3.2(CHM文件阅读)
  • 【GIT】git分支命令,使用分支场景介绍git标签介绍,git标签命令,git标签使用的场景git查看提交历史
  • Zeitgeist ZTG Token以及其预测市场加入Moonbeam生态
  • AM@方向导数概念和定理
  • 微信小程序隐私政策不合规,应当由用户自主阅读后自行选择是否同意隐私政策协议,不得默认强制用户同意
  • Python中如何判断两个对象的内存地址是否一致?
  • 唯美仙侠3D手游2023【仙变3】画面精美/linux服务端+双端+GM后台+运营后台+详细教程
  • React组件通信:如何优雅地实现组件间的数据传递
  • 数据分析实战 | 逻辑回归——病例自动诊断分析
  • Eigen::Matrix<double,3,1> F;Eigen::MatrixXd F (3, 2);这两行代码有什么区别?
  • Java Agent - 应用程序代理-笔记
  • gird 卡片布局
  • C#医学检验室(LIS)信息管理系统源码
  • 建行广东江门分行:科技赋能,数据助力纠“四风”
  • 3164:练27.1 叮叮当当 《信息学奥赛一本通编程启蒙(C++版)》
  • 立体库堆垛机放货动作控制程序功能
  • MySQL数据库干货_22——MySQL的用户管理
  • 基于ubuntu 22, jdk 8x64搭建图数据库环境 hugegraph--google镜像chatgpt