2024蓝桥杯每日一题(前缀和)

一、第一题:壁画

 解题思路:前缀和+贪心枚举
        仔细思考可以发现B值最大的情况是一段连续的长度为n/2上取整的序列的累加和

【Python程序代码】

import math
T = int(input())
for _ in range(1,1+T):n = int(input())s = input()l = math.ceil(len(s)/2)a = [0]for i in s:a.append(int(i))for i in range(1,n+1):a[i]+=a[i-1]res = 0for i in range(l,n+1):res = max(res,a[i]-a[i-l])print("Case #%d: %d"%(_,res))

二、第二题:前缀和

 

解题思路:前缀和
        前缀和模板题

【Python程序代码】

n,m = map(int,input().split())
a = [0] + list(map(int,input().split()))
for i in range(1,n+1):a[i]+=a[i-1]
for i in range(m):l,r = map(int,input().split())print(a[r]-a[l-1])

 三、第三题:子矩阵的和

 

 解题思路:二维前缀和
        二维前缀和模板题

【Python程序代码】

n, m, q = map(int, input().split())
a = [[0] * (m + 1)]
for i in range(n):tep = [0] + list(map(int, input().split()))a.append(tep)
s = [[0] * (m + 5) for _ in range(n + 5)]
for i in range(1, n + 1):for j in range(1, m + 1):a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1]
for _ in range(q):x1, y1, x2, y2 = map(int, input().split())res = a[x2][y2] - a[x1 - 1][y2] - a[x2][y1 - 1] + a[x1 - 1][y1 - 1]print(res)

四、第四题: K倍区间

解题思路:前缀和
        先计算数组的前缀和并对k取模后思考如何组成k倍区间

【Python程序代码】

from collections import defaultdict
dic = defaultdict(int)
n,k = map(int,input().split())
a = [0]
for i in range(n):tep = int(input())a.append(tep)
for i in range(1,n+1):a[i] = (a[i]+a[i-1])%k
res = 0
#print(a)
for i in range(0,n+1):res += dic[a[i]]dic[a[i]] += 1
print(res)

五、第五题:统计子矩阵

解题思路:前缀和+双指针优化
        首先对列做前缀和方便后面的优化,从第一行(i)开始遍历,y方向则是(i~n),左指针l每次从1开始,右指针遍历1~m,每次判断(l,r,y)组成的子矩阵,如果当前的值大于k则左指针往右走直到小于k,否则res+=r-l+1.

【Python程序代码】

n,m,k = map(int,input().split())
s = [[0]*(m+1)]
for i in range(n):s.append([0] + list(map(int,input().split())))
for i in range(1,n+1):for j in range(1,m+1):s[i][j] += s[i-1][j]
res = 0
for i in range(1,n+1):for j in range(i,n+1):l = 1sumv = 0for r in range(1,m+1):sumv += s[j][r]-s[i-1][r]while sumv>k:sumv -= s[j][l]-s[i-1][l]l += 1res += r-l+1
print(res)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能在日常生活中的应用

在我们的日常生活中,人工智能已经成为一种无处不在的力量,从智能家居到在线助手,再到高度个性化的服务和推荐,它无声地改变着我们的生活方式和习惯。随着技术的不断进步和普及,人工智能正以前所未有的速度和规模渗透到…

JVM-垃圾收集器G1

G1垃圾回收器 概述: 是一款面向服务器的垃圾收集器,主要针对配备多个处理器及大容量内存的机器. 以极高效率满足GC停顿时间要求的同时,还具备高吞吐量性能特征.G1保留了年轻代和老年代的概念,但不再是物理隔阂了,它们都是(可以不连…

在别的地方下载的二次封装Windows镜像怎么安装?GHO镜像详细安装教程

前言 在系统之家或者其他地方下载的镜像文件怎么装到电脑上? 首先要知道系统之家下载的Windows镜像文件基本上都是.iso结尾的,要进入到对应镜像包才能看出系统镜像是什么格式。 如何分辨镜像的格式 选择对应的.iso镜像,点击【鼠标右键】-【装…

《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P27 在线会话测试(Testing An Online Session)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主&#xff0…

【OJ比赛日历】快周末了,不来一场比赛吗? #03.09-03.15 #13场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2024-03-09(周六) #6场比赛2024-03-10…

Python笔记|基础算数运算+数字类型(1)

重新整理记录一下python的基础知识 基础运算符 、-、*、/ ;括号 ()用来分组。 >>>2 2 4 >>>50 - 5*6 20 >>>(50 - 5*6) / 4 5.0 >>>8 / 5 1.6向下取整除法:向下舍入到最接近的整数的数学除法。运算符是 //。比如1…

【趣味项目】2048 简单实现

【趣味项目】2048 简单实现 算法原理 假设用一个二维矩阵表示 2048 页面,操作是左滑 const matrix [[2, 2, 4, 0],[0, 2, 4, 0],[0, 2, 2, 0],[2, 4, 4, 8] ];将所有非空的数字向左移动 matrix [[2, 2, 4, 0],[2, 4, 0, 0],[2, 2, 0, 0],[2, 4, 4, 8] ]将相邻的…

自动化工程师涨薪难,原因出在这里

大家好,今天说说真实的工控行业,摒弃虚无的鸡汤,聊点实在的。 举个例子,某工做销售,卖电控器件,眼见PLC收入可观,开始感到压力。于是,他下定决心学PLC,报了培训班。毕业后…

手写简易操作系统(一)--环境配置

本专栏是我新开设的一个学术专栏,旨在全面介绍手写操作系统的相关内容。其中包括实模式向保护模式的过渡、锁机制、信号量操作、内存分配、硬盘驱动、文件系统、简单shell和管道等操作系统核心知识。该专栏旨在为有意开发自己操作系统的研究人员提供指导与帮助。作为…

昏暗场景增强-低照度增强-弱光增强(附代码)

引言 随着现代科技的发展,图像采集设备已经渗透到生活的方方面面,然而在昏暗场景、低照度或弱光条件下,图像的质量往往受到严重影响,表现为亮度不足、对比度低下、色彩失真以及细节丢失等问题。这类图像对于人眼识别和计算机视觉…

【NR技术】 3GPP支持无人机的关键技术以及场景

1 背景 人们对使用蜂窝连接来支持无人机系统(UAS)的兴趣浓厚,3GPP生态系统为UAS的运行提供了极好的好处。无处不在的覆盖范围、高可靠性和QoS、强大的安全性和无缝移动性是支持UAS指挥和控制功能的关键因素。与此同时,监管机构正在调查安全和性能标准以及…

C++进阶之路---继承(二)

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、继承与友元 友元关系不能继承,也就是说基类友元不能访问子类私有和保护成员。 class Student; class Per…

leetcode 热题 100_除自身以外数组的乘积

题解一: 前缀 / 后缀数组:某元素除自身以外的乘积,也就是其全部前缀元素乘积 * 全部后缀元素乘积,因此我们可以构造前缀数组和后缀数组,分别存储前i个元素的成绩和后i个元素的乘积,再将i-1前缀乘积 * i1后缀…

SpringBoot整合Redis实现分布式锁

SpringBoot整合Redis实现分布式锁 分布式系统为什么要使用分布式锁? 首先,分布式系统是由多个独立节点组成的,这些节点可能运行在不同的物理或虚拟机器上,它们通过网络进行通信和协作。在这样的环境中,多个节点可能同…

Java数组常用操作

创建数组 int[] a {1,2,3};int[] a new int[]{1,2,3};int[] a new int[3];ArrayList<Integer> arr new ArrayList<>(); 添加元素 arr.add(99); //将99加入到数组末尾arr.add(3,99); //将99加入到指定索引3处访问元素 int c1 c[1]; int arr1 arr.get(1); …

方阵的特征值与特征向量

目录 特征值 & 特征向量 相关性质 特征值 & 特征向量 相关性质

BlackHole

BlackHole 文章目录 BlackHole一、关于 BlackHole功能描述 二、安装、卸载安装方式一&#xff1a;下载安装器方式二&#xff1a;使用 Homebrew 安装 卸载方式一&#xff1a;使用卸载器方式二&#xff1a;手动卸载 三、用户使用指南1、Logic Pro X2、GarageBand3、Reaper4、录制…

MRI基础--k空间

k空间定义 k空间是表示 MR 图像中空间频率的数字数组。 k空间物理意义 k 空间的单元通常显示在主轴 kx 和 ky 的矩形网格上。 k 空间的 kx 和 ky 轴对应于图像的水平 (x) 和垂直 (y) 轴。然而,k 轴表示 x 和 y 方向上的空间频率而不是位置。 k 空间中的各个点 (kx,ky) 与图像…

聊一聊日常开发中如何优雅的避免那无处不在的空指针异常

在Java编程语言中&#xff0c;NullPointerException&#xff08;简称NPE&#xff09;是一种常见的运行时异常&#xff0c;当程序试图访问或操作一个还未初始化&#xff08;即值为null&#xff09;的对象引用时&#xff0c;Java虚拟机就会抛出NullPointerException。如果我们在日…

【技术】基于Github Pages搭建个人博客静态网页

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 文章目录 一、技术基础二、新建特殊仓库三、上传网页文件四、Github Pages设置 个人网页作为仅服务个人的网页&#xff0c;一…