蓝桥杯刷题DAY2:二维前缀和 一维前缀和 差分数组
闪耀的灯光
📌 题目描述
蓝桥公园是一个适合夜间散步的好地方,公园可以被视为由 n × m 个矩形区域构成。每个区域都有一盏灯,初始亮度为 a[i][j]。
小蓝可以选择一个大的矩形区域,并按下开关一次,这将使得该区域内每盏灯的亮度减少 1,但每个区域内的灯的亮度最多只能减少至 a[i][j] - c。如果此时亮度已达到 a[i][j] - c,再次按下开关将使得灯的亮度恢复为 a[i][j]。
现在,小蓝将进行 t 次操作。每次操作他会选择一个矩形区域,该区域的左上角端点为 (x₁, y₁),右下角端点为 (x₂, y₂),然后将该区域内所有灯按下 k 次开关。
他想知道,在每次操作结束后,该区域内所有灯的总亮度是多少?在下一次操作前,公园内所有灯光会恢复到初始值。
数据保证每盏灯的亮度不会减少至负数。
📌 输入格式
- 第一行 输入三个正整数
n、m和c,含义如上所述。 - 接下来
n行,每行输入m个正整数,代表灯的初始亮度a[i][j]。 - 第
n+2行 输入一个正整数t,表示小蓝的操作次数。 - 接下来
t行,每行输入5个整数x₁, y₁, x₂, y₂, k:(x₁, y₁):矩形区域的左上角坐标。(x₂, y₂):矩形区域的右下角坐标。k:该区域内所有灯按下的开关次数。
📌 输出格式
输出 t 行,每行一个正整数,表示每次操作结束后该区域内所有灯的总亮度。
📌 样例输入
3 3 3 14 14 17 13 15 18 13 16 19 3 1 1 2 2 3 2 2 3 3 5 2 3 3 3 4
📌 样例输出
44 64 37
📌 样例解释
🔹 第一次操作 (1,1) → (2,2), k=3
初始状态
14 14 17 13 15 18 13 16 19
按 3 次开关后
11 11 17 10 12 18 13 16 19
答案:
11 + 11 + 10 + 12 = 44
🔹 第二次操作 (2,2) → (3,3), k=5
初始状态
14 14 17 13 15 18 13 16 19
按 5 次开关后
14 14 17 13 14 17 13 15 18
答案:
14 + 17 + 15 + 18 = 64
🔹 第三次操作 (2,3) → (3,3), k=4
初始状态
14 14 17 13 15 18 13 16 19
按 4 次开关后
14 14 17 13 15 18 13 16 19
答案:
18 + 19 = 37
📌 评测数据规模
| 约束条件 | 范围 |
|---|---|
| 矩阵大小 | 1 ≤ n, m ≤ 300 |
| 最大减少值 | 1 ≤ c ≤ 10 |
| 操作次数 | 1 ≤ t ≤ 10⁵ |
| 灯的初始亮度 | 10 ≤ a[i][j] ≤ 10⁹ |
| 开关次数 | 1 ≤ k ≤ 10⁹ |
| 查询范围 | 1 ≤ x₁ ≤ x₂ ≤ n, 1 ≤ y₁ ≤ y₂ ≤ m |
📌 运行限制
| 语言 | 最大运行时间 | 最大运行内存 |
|---|---|---|
| C++ | 1s | 256M |
| C | 1s | 256M |
| Java | 2s | 256M |
| Python3 | 3s | 256M |
子串简写
题目描述
程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如 internationalization 简写成 i18n,Kubernetes(注意连字符不是字符串的一部分)简写成 K8s,Lanqiao 简写成 L5o 等。
在本题中,我们规定长度 大于等于 K 的字符串都可以采用这种简写方法(长度小于 K 的字符串不配使用这种简写)。
给定一个字符串 S 和两个字符 c1 和 c2,请你计算 S 中 有多少个以 c1 开头,c2 结尾的子串 可以采用这种简写?
输入格式
- 第一行包含一个整数
K。 - 第二行包含一个字符串
S和两个字符c1和c2。
输出格式
- 一个整数代表答案。
样例输入
4
abababdb a b
样例输出
6
样例说明
符合条件的子串如下所示,中括号内是该子串:

评测用例规模与约定
- 对于 20% 的数据,保证:2 ≤ K ≤ |S| ≤ 10,000
- 对于 100% 的数据,保证:2 ≤ K ≤ |S| ≤ 500,000
S仅包含小写字母。c1和c2均为小写字母。|S|代表字符串S的长度。
运行限制
| 语言 | 最大运行时间 | 最大运行内存 |
|---|---|---|
| C++ | 1s | 256M |
| C | 1s | 256M |
| Java | 2s | 256M |
| Python3 | 3s | 256M |
题解:
import os
import sys# 请在此输入您的代码if __name__=="__main__":K=int(input())S,c1,c2=input().split()n=len(S)myarray=[0]*nif S[0]==c2:myarray[0]=1for i in range(1,n):if S[i]==c2:myarray[i]=myarray[i-1]+1else:myarray[i]=myarray[i-1]total=0for i in range(n):if S[i]==c1:l=i+K-1if l<n:total+=myarray[n-1]-myarray[i+K-2]print(total)
重新排序
问题描述
给定一个数组 A 和一些查询 [Li,Ri],求数组中第 Li 至第 Ri 个元素之和。
小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可以增加多少?
输入格式
- 第一行:包含一个整数 n(表示数组 A 的大小)。
- 第二行:包含 n 个整数 A1,A2,…,An(相邻两个整数之间用空格分隔)。
- 第三行:包含一个整数 m(表示查询的数目)。
- 接下来的 m 行:
- 每行包含两个整数 Li,Ri。
输出格式
输出一行,包含一个整数,表示所有查询结果的总和相比原数组最多可以增加的值。
样例输入
5 1 2 3 4 5 2 1 3 2 5
样例输出
4
样例说明
原数组查询总和:
- 查询 [1,3]:1+2+3=6
- 查询 [2,5]:2+3+4+5=14
- 原总和:6+14=20
重新排列后数组为 (1,4,5,2,3),查询和变为:
- 查询 [1,3]:1+4+5=10
- 查询 [2,5]:4+5+2+3=14
- 新总和:10+14=24
最大增加值:24−20=4。
评测用例规模与约定
| 评测用例 | 限制范围 |
|---|---|
| 30% 的评测用例 | n,m≤50 |
| 50% 的评测用例 | n,m≤500 |
| 70% 的评测用例 | n,m≤5000 |
| 100% 的评测用例 | 1≤n,m≤10^5,1≤Ai≤10^6,1≤Li≤Ri≤10^6 |
运行限制
| 编程语言 | 最大运行时间 | 最大运行内存 |
|---|---|---|
| C++ | 1s | 512M |
| C | 1s | 512M |
| Python3 | 1s | 512M |
| Java | 1s | 512M |
相关文章:
蓝桥杯刷题DAY2:二维前缀和 一维前缀和 差分数组
闪耀的灯光 📌 题目描述 蓝桥公园是一个适合夜间散步的好地方,公园可以被视为由 n m 个矩形区域构成。每个区域都有一盏灯,初始亮度为 a[i][j]。 小蓝可以选择一个大的矩形区域,并按下开关一次,这将使得该区域内每盏…...
雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能
雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能 1. 修改VirtualBox配置文件映射串口 模拟器配置文件vms/leidian0/leidian.vbox。 在UART标签下增加(修改完成后需要将leidian.vbox修改为只读) <Port slot"1" enabled"true"…...
四、jQuery笔记
(一)jQuery概述 jQuery本身是js的一个轻量级的库,封装了一个对象jQuery,jquery的所有语法都在jQuery对象中 浏览器不认识jquery,只渲染html、css和js代码,需要先导入jQuery文件,官网下载即可 jQuery中文说明文档:https://hemin.cn/jq/ (二)jQuery要点 1、jQuery对象 …...
流浪 Linux: 外置 USB SSD 安装 ArchLinux
注: ArchLinux 系统为滚动更新, 变化很快, 所以本文中的安装方法可能很快就过时了, 仅供参考. 实际安装时建议去阅读官方文档. 最近, 突然 (也没有那么突然) 有了一大堆 PC: 4 个笔记本, 2 个台式主机 (M-ATX 主板), 1 个小主机 (迷你主机). 嗯, 多到用不过来. 但是, 窝又不能…...
1.For New TFLite Beginner
一、 Getting Started for ML Beginners This document explains how to use machine learning to classify (categorize) Iris flowers by species. This document dives deeply into the TensorFlow code to do exactly that, explaining ML fundamentals along the way. If…...
吊打同类软件免费又可批量使用
聊一聊 对于经常用到席卡的人来说,每次打印都觉得麻烦,要是有个软件,直接输入名称就能打印就好了。 这不,只要你想,就肯定能实现;如果没实现,就说明你不够想。 这个软件我测试了下࿰…...
MiniMind——跑通项目
文章目录 📌 Quick Start Train MiniMind (ModelScope) # step 1 git clone https://huggingface.co/jingyaogong/minimind-v1# step 2 python 2-eval.py或者启动streamlit,启动网页聊天界面 「注意」需要python>3.10,安装 pip install s…...
单细胞-第五节 多样本数据分析,打分R包AUCell
文件在单细胞\5_GC_py\1_single_cell\3.AUCell.Rmd 1.基因 rm(list = ls()) load("g.Rdata")2.AUCell https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9897923 IF: NA NA NA用这个文章里的方法,将单细胞亚群的marker基因与ros相关基因取交集,用作AUCell的基因集…...
【零拷贝】
目录 一:了解IO基础概念 二:数据流动的层次结构 三:零拷贝 1.传统IO文件读写 2.mmap 零拷贝技术 3.sendFile 零拷贝技术 一:了解IO基础概念 理解CPU拷贝和DMA拷贝 我们知道,操作系统对于内存空间&…...
深入解析 C++ 字符串处理:提取和分割的多种方法
在 C 编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时。本文将详细探讨如何使用 C 标准库中的工具(如 std::istringstream 和 std::string 的成员函数)来提取和分割字符串,并分析不同方法的适…...
计算机组成原理——存储系统(一)
在人生的道路上,成功与失败交织成一幅丰富多彩的画卷。不论我们是面对胜利的喜悦,还是遭遇失败的痛苦,都不能放弃对梦想的追求。正是在这种追求中,我们不断地超越自我,不断地突破自己的极限。只有勇往直前,…...
Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?
Jenkins在第一次进行登录的时候,只需要输入Jenkins\secrets\initialAdminPassword中的密码,登录成功后,本次我们没有修改密码,就会导致后面第二次登录,Jenkins需要进行用户名和密码的验证,但是我们根本就没…...
论文和代码解读:RF-Inversion 图像/视频编辑技术
Diffusion Models专栏文章汇总:入门与实战 前言:Rectified Flow的反演和DDIM这些不太一样,上一篇博客中介绍了腾讯提出的一种方法《基于Rectified Flow FLUX的图像编辑方法 RF-Solver》,主要就是用泰勒展开和一阶导数近似来分解反演公式。这篇博客介绍谷歌提出的方法RF-Inv…...
大模型培训讲师老师叶梓分享:DeepSeek多模态大模型janus初探
以下视频内容为叶梓分享DeepSeek多模态大模型janus的部署,并验证其实际效果,包括图生文和文生图两部分。 叶梓老师人工智能培训分享DeepSeek多模态大模型janus初探 DeepSeek 的多模态大模型 Janus 是一款强大的 AI 模型,专注于图像和文本的多…...
2025最新源支付V7全套开源版+Mac云端+五合一云端
2025最新源支付V7全套开源版Mac云端五合一云端 官方1999元, 最新非网上那种功能不全带BUG开源版,可以自己增加授权或二开 拥有卓越的性能和丰富的功能。它采用全新轻量化的界面UI,让您能更方便快捷地解决知识付费和运营赞助的难题 它基于…...
稀疏混合专家架构语言模型(MoE)
注:本文为 “稀疏混合专家架构语言模型(MoE)” 相关文章合辑。 手把手教你,从零开始实现一个稀疏混合专家架构语言模型(MoE) 机器之心 2024年02月11日 12:21 河南 选自huggingface 机器之心编译 机器之心…...
比较热门的嵌入式项目
嵌入式系统在现代科技中应用广泛,以下是一些当前比较热门的嵌入式项目方向及其应用场景: 1. 物联网(IoT) 智能家居:智能灯光、温控器、安防系统。环境监测:空气质量、温湿度、土壤湿度传感器。工业物联网&…...
牛客网 除2!(详解)c++
题目链接:除2! 1.题目解析 1:想让数组所有数之和尽可能小,肯定有个想法,就是我每次选数组中偶数的时候,我必定挑一个最大的,因为我挑一个最大的出来,把它变成一半,这个时…...
被裁与人生的意义--春节随想
还有两个月就要被迫离开工作了十多年的公司了,不过有幸安安稳稳的过了一个春节,很知足! 我是最后一批要离开的,一百多号同事都没“活到”蛇年。看着一批批仁人志士被“秋后斩首”,马上轮到我们十来个,个中滋味很难言清…...
ASP.NET Core 中间件
目录 一、常见的内置中间件 二、自定义中间件 三、中间件的执行顺序 四、其他自动逸中间件案例 1. 身份验证中间件 2、跨域中间件(CORS) ASP.NET Core 中,中间件(Middleware)是处理 HTTP 请求和响应的组件链。你…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
Spring事务传播机制有哪些?
导语: Spring事务传播机制是后端面试中的必考知识点,特别容易出现在“项目细节挖掘”阶段。面试官通过它来判断你是否真正理解事务控制的本质与异常传播机制。本文将从实战与源码角度出发,全面剖析Spring事务传播机制,帮助你答得有…...
Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)
做RAG自己打算使用esmilvus自己开发一个,安装时好像网上没有比较新的安装方法,然后找了个旧的方法对应试试: 🚀 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana,适配中文搜索…...
GitHub 常见高频问题与解决方案(实用手册)
1.Push 提示权限错误(Permission denied) 问题: Bash Permission denied (publickey) fatal: Could not read from remote repository. 原因: 没有配置 SSH key 或使用了 HTTPS 而没有权限…...
LeetCode第244题_最短单词距离II
LeetCode第244题:最短单词距离II 问题描述 设计一个类,接收一个单词数组 wordsDict,并实现一个方法,该方法能够计算两个不同单词在该数组中出现位置的最短距离。 你需要实现一个 WordDistance 类: WordDistance(String[] word…...

