蓝桥杯刷题DAY2:二维前缀和 一维前缀和 差分数组

news2025/2/2 14:01:52

闪耀的灯光


📌 题目描述

蓝桥公园是一个适合夜间散步的好地方,公园可以被视为由 n × m 个矩形区域构成。每个区域都有一盏灯,初始亮度为 a[i][j]

小蓝可以选择一个大的矩形区域,并按下开关一次,这将使得该区域内每盏灯的亮度减少 1,但每个区域内的灯的亮度最多只能减少至 a[i][j] - c。如果此时亮度已达到 a[i][j] - c,再次按下开关将使得灯的亮度恢复为 a[i][j]

现在,小蓝将进行 t 次操作。每次操作他会选择一个矩形区域,该区域的左上角端点为 (x₁, y₁),右下角端点为 (x₂, y₂),然后将该区域内所有灯按下 k 次开关。

他想知道,在每次操作结束后,该区域内所有灯的总亮度是多少?在下一次操作前,公园内所有灯光会恢复到初始值

数据保证每盏灯的亮度不会减少至负数。


📌 输入格式

  • 第一行 输入三个正整数 nmc,含义如上所述。
  • 接下来 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++1s256M
C1s256M
Java2s256M
Python33s256M

子串简写

题目描述

程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如 internationalization 简写成 i18nKubernetes(注意连字符不是字符串的一部分)简写成 K8sLanqiao 简写成 L5o 等。

在本题中,我们规定长度 大于等于 K 的字符串都可以采用这种简写方法(长度小于 K 的字符串不配使用这种简写)。

给定一个字符串 S 和两个字符 c1c2,请你计算 S有多少个以 c1 开头,c2 结尾的子串 可以采用这种简写?


输入格式

  • 第一行包含一个整数 K
  • 第二行包含一个字符串 S 和两个字符 c1c2

输出格式

  • 一个整数代表答案。

样例输入

4

abababdb a b

样例输出

6


样例说明

符合条件的子串如下所示,中括号内是该子串:


评测用例规模与约定

  • 对于 20% 的数据,保证:2 ≤ K ≤ |S| ≤ 10,000 
  • 对于 100% 的数据,保证:2 ≤ K ≤ |S| ≤ 500,000
  • S 仅包含小写字母。
  • c1c2 均为小写字母。
  • |S| 代表字符串 S 的长度。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M

题解: 

import os
import sys

# 请在此输入您的代码

if __name__=="__main__":
  K=int(input())
  S,c1,c2=input().split()
  n=len(S)
  myarray=[0]*n
  if S[0]==c2:
    myarray[0]=1
  for i in range(1,n):
    if S[i]==c2:
      myarray[i]=myarray[i-1]+1
    else:
      myarray[i]=myarray[i-1]
  total=0
  for i in range(n):
    
    if S[i]==c1:
      l=i+K-1
      if 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++1s512M
C1s512M
Python31s512M
Java1s512M

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

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

相关文章

C++初阶 -- 手撕string类(模拟实现string类)

目录 一、string类的成员变量 二、构造函数 2.1 无参版本 2.2 有参版本 2.3 缺省值版本 三、析构函数 四、拷贝构造函数 五、c_str函数 六、operator重载 七、size函数 八、迭代器iterator 8.1 正常版本 8.2 const版本 九、operator[] 9.1 正常版本 9.2 const版…

【Unity3D】实现2D角色/怪物死亡消散粒子效果

核心&#xff1a;这是一个Unity粒子系统自带的一种功能&#xff0c;可将粒子生成控制在一个Texture图片网格范围内&#xff0c;并且粒子颜色会自动采样图片的像素点颜色&#xff0c;之后则是粒子编辑出消散效果。 Particle System1物体&#xff08;爆发式随机速度扩散10000个粒…

85.[1] 攻防世界 WEB easyphp

进入靶场 属于代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;常用于调试或展示代码 highlight_file(__FILE__);// 初始化两个标志变量&#xff0c;用于后续条件判断 $key1 0; $key2 0;// 从 GET 请求中获取参数 a 和 b $a $_GET[a]; $b $_GET[b];// 检…

pytorch图神经网络处理图结构数据

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 图神经网络&#xff08;Graph Neural Networks&#xff0c;GNNs&#xff09;是一类能够处理图结构数据的深度学习模型。图结构数据由节点&#xff08;vertices&#xff09;和边&#xff08;edges&#xff09;组成&a…

海外问卷调查,最常用到的渠道查有什么特殊之处

市场调研&#xff0c;包含市场调查和市场研究两个步骤&#xff0c;是企业和机构根据经营方向而做出的决策问题&#xff0c;最终通过海外问卷调查中的渠道查&#xff0c;来系统地设计、收集、记录、整理、分析、研究市场反馈的工作流程。 市场调研的工作流程包括&#xff1a;确…

【Uniapp-Vue3】解决uni-popup弹窗在安全区显示透明问题

我们在使用uni-popup时&#xff0c;如果想要给弹出内容添加一个背景颜色&#xff0c;我们会发现在安全区域是不显示该背景颜色的。 首先根据如下的目录结构找到uni-popup.vue文件 在该文件中找到bottom配置&#xff0c;将红箭头所指代码注释掉 下面的安全区域就没有了&#xff…

项目练习:重写若依后端报错cannot be cast to com.xxx.model.LoginUser

文章目录 一、情景说明二、解决办法 一、情景说明 在重写若依后端服务的过程中 使用了Redis存放LoginUser对象数据 那么&#xff0c;有存就有取 在取值的时候&#xff0c;报错 二、解决办法 方法1、在TokenService中修改如下 getLoginUser 方法中&#xff1a;LoginUser u…

核心集:DeepCore: A Comprehensive Library for CoresetSelection in Deep Learning

目录 一、TL&#xff1b;DR 二、为什么研究核心集&#xff1f; 三、问题定义和如何做 3.1 问题定义 3.2 业界方法 3.2.1 基于几何的方法 3.2.2 基于不确定性的方法 3.2.3 基于误差/损失的方法 3.2.5 GraNd 和 EL2N 分数 3.2.6 重要性采样 3.2.7 基于决策边界的办法 …

Hot100之矩阵

73矩阵置零 题目 思路解析 收集0位置所在的行和列 然后该行全部初始化为0 该列全部初始化为0 代码 class Solution {public void setZeroes(int[][] matrix) {int m matrix.length;int n matrix[0].length;List<Integer> list1 new ArrayList<>();List<…

可视化相机pose colmap形式的相机内参外参

目录 内参外参转换 可视化相机pose colmap形式的相机内参外参 内参外参转换 def visualize_cameras(cameras, images):fig plt.figure()ax fig.add_subplot(111, projection3d)for image_id, image_data in images.items():qvec image_data[qvec]tvec image_data[tvec]#…

数据库内存与Buffer Pool

数据库内存与Buffer Pool 文章目录 数据库内存与Buffer Pool一&#xff1a;MySQL内存结构1&#xff1a;MySQL工作组件2&#xff1a;工作线程的本地内存3&#xff1a;共享内存区域4&#xff1a;存储引擎缓冲区 二&#xff1a;InnoDB的核心&#xff1a;Buffer Pool1&#xff1a;数…

程序员学英文之At the Airport Customs

Dialogue-1 Making Airline Reservation预定机票 My cousin works for Xiamen Airlines. 我表哥在厦航上班。I’d like to book an air ticket. 我想预定一张机票。Don’t judge a book by its cover. 不要以貌取人。I’d like to book / re-serve a table for 10. 我想预定一…

Redis代金卷(优惠卷)秒杀案例-单应用版

优惠卷表:优惠卷基本信息,优惠金额,使用规则 包含普通优惠卷和特价优惠卷(秒杀卷) 优惠卷的库存表:优惠卷的库存,开始抢购时间,结束抢购时间.只有特价优惠卷(秒杀卷)才需要填写这些信息 优惠卷订单表 卷的表里已经有一条普通优惠卷记录 下面首先新增一条秒杀优惠卷记录 { &quo…

51单片机 01 LED

一、点亮一个LED 在STC-ISP中单片机型号选择 STC89C52RC/LE52RC&#xff1b;如果没有找到hex文件&#xff08;在objects文件夹下&#xff09;&#xff0c;在keil中options for target-output- 勾选 create hex file。 如果要修改编程 &#xff1a;重新编译-下载/编程-单片机重…

MusicFree-开源的第三方音乐在线播放和下载工具, 支持歌单导入[对标落雪音乐]

MusicFree 链接&#xff1a;https://pan.xunlei.com/s/VOI0RrVLTTWE9kkpt0U7ofGBA1?pwd4ei6#

消息队列篇--原理篇--常见消息队列总结(RabbitMQ,Kafka,ActiveMQ,RocketMQ,Pulsar)

1、RabbitMQ 特点&#xff1a; AMQP协议&#xff1a;RabbitMQ是基于AMQP&#xff08;高级消息队列协议&#xff09;构建的&#xff0c;支持多种消息传递模式&#xff0c;如发布/订阅、路由、RPC等。多语言支持&#xff1a;支持多种编程语言的客户端库&#xff0c;包括Java、P…

nacos 配置管理、 配置热更新、 动态路由

文章目录 配置管理引入jar包添加 bootstrap.yaml 文件配置在application.yaml 中添加自定义信息nacos 配置信息 配置热更新采用第一种配置根据服务名确定配置文件根据后缀确定配置文件 动态路由DynamicRouteLoaderNacosConfigManagerRouteDefinitionWriter 路由配置 配置管理 …

(笔记+作业)书生大模型实战营春节卷王班---L0G2000 Python 基础知识

学员闯关手册&#xff1a;https://aicarrier.feishu.cn/wiki/QtJnweAW1iFl8LkoMKGcsUS9nld 课程视频&#xff1a;https://www.bilibili.com/video/BV13U1VYmEUr/ 课程文档&#xff1a;https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/Python 关卡作业&#xff1a;htt…

SpringBoot中Excel表的导入、导出功能的实现

文章目录 一、easyExcel简介二、Excel表的导出2.1 添加 Maven 依赖2.2 创建导出数据的实体类4. 编写导出接口5. 前端代码6. 实现效果 三、excel表的导出1. Excel表导入的整体流程1.1 配置文件存储路径 2. 前端实现2.1 文件上传组件 2.2 文件上传逻辑3. 后端实现3.1 文件上传接口…

动态规划DP 背包问题 完全背包问题(题目分析+C++完整代码)

概览检索 动态规划DP 概览&#xff08;点击链接跳转&#xff09; 动态规划DP 背包问题 概览&#xff08;点击链接跳转&#xff09; 完全背包问题 原题链接 AcWiing 3. 完全背包问题 题目描述 有 N种物品和一个容量是 V的背包&#xff0c;每种物品都有无限件可用。 第 i种物…