2024.6.11刷题记录

2024-06-12 08:04
文章标签 2024.6 刷题 记录

本文主要是介绍2024.6.11刷题记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、795. 前缀和 - AcWing题库

二、796. 子矩阵的和 - AcWing题库

三、797. 差分 - AcWing题库

四、798. 差分矩阵 - AcWing题库

五、799. 最长连续不重复子序列 - AcWing题库

六、800. 数组元素的目标和 - AcWing题库

七、2816. 判断子序列 - AcWing题库


一、795. 前缀和 - AcWing题库

n, m = map(int, input().split())
nums = [0] + list(map(int, input().split()))    # 在前面加一个元素,防止询问时越界
# 前缀和
for i in range(1, n + 1):nums[i] += nums[i - 1]
# 询问
for _ in range(m):l, r = map(int, input().split())print(nums[r] - nums[l - 1])

二、796. 子矩阵的和 - AcWing题库

n, m, q = map(int, input().split())
mat = []
# 存入矩阵
for _ in range(n):mat.append(list(map(int, input().split())))
# 前缀和
add = [[0] * (m + 1) for _ in range(n + 1)]
for i in range(n):for j in range(m):add[i + 1][j + 1] = add[i][j + 1] + add[i + 1][j] - add[i][j] + mat[i][j]
# 询问
for _ in range(q):x1, y1, x2, y2 = map(int, input().split())print(add[x2][y2] - add[x1 - 1][y2] - add[x2][y1 - 1] + add[x1 - 1][y1 - 1])

三、797. 差分 - AcWing题库

n, m = map(int, input().split())
nums = list(map(int, input().split()))
# 操作
diff = [0] * (n + 1)    # 差分数组
for _ in range(m):l, r, c = map(int, input().split())diff[l - 1] += cdiff[r] -= c
# 前缀和
print(diff[0] + nums[0], end = ' ')
for i in range(1, n):diff[i] += diff[i - 1]print(diff[i] + nums[i], end = ' ')

四、798. 差分矩阵 - AcWing题库

n, m, q = map(int, input().split())
# 输入
mat = []
for _ in range(n):mat.append(list(map(int, input().split())))
# 操作
diff = [[0] * (m + 2) for _ in range(n + 2)]
for _ in range(q):x1, y1, x2, y2, c = map(int, input().split())diff[x1][y1] += cdiff[x1][y2 + 1] -= cdiff[x2 + 1][y1] -= cdiff[x2 + 1][y2 + 1] += c
# 前缀和
for i in range(1, n + 1):for j in range(1, m + 1):diff[i][j] += diff[i - 1][j] + diff[i][j - 1] - diff[i - 1][j - 1]print(diff[i][j] + mat[i - 1][j - 1], end = ' ')print()

五、799. 最长连续不重复子序列 - AcWing题库

# 滑动窗口
import collections
n = int(input())
nums = list(map(int, input().split()))
# hash = collections.defaultdict(int)     # 储存区间中元素个数
hash = dict.fromkeys(nums, 0)
left, ans = 0, 0
for right in range(n):# 遍历右端点hash[nums[right]] += 1# 缩短区间,将左端点以到区间内无重复数字while hash[nums[right]] > 1:hash[nums[left]] -= 1left += 1ans = max(ans, right - left + 1)    # 更新答案
print(ans)

六、800. 数组元素的目标和 - AcWing题库

# 双指针
n, m, target = map(int, input().split())
alist = list(map(int, input().split()))
blist = list(map(int, input().split()))
i, j = 0, m - 1
while i < n and j >= 0:x, y = alist[i], blist[j]if x + y == target:print(i, j)breakelif x + y > target:j -= 1else:i += 1

七、2816. 判断子序列 - AcWing题库

# 模拟
n, m = map(int, input().split())
short_list = list(map(int, input().split()))
long_list = list(map(int, input().split()))
i, j = 0, 0
while i < n and j < m:if short_list[i] == long_list[j]:i += 1j += 1else:j += 1
print('Yes' if i == n else 'No')

感谢你看到这里!一起加油吧!

这篇关于2024.6.11刷题记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053639

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

记录AS混淆代码模板

开启混淆得先在build.gradle文件中把 minifyEnabled false改成true,以及shrinkResources true//去除无用的resource文件 这些是写在proguard-rules.pro文件内的 指定代码的压缩级别 -optimizationpasses 5 包明不混合大小写 -dontusemixedcaseclassnames 不去忽略非公共

数控系统资料记录

数控技术:数控系统刀补功能的软件实现及其仿真--数控仿真程序开发实战 https://github.com/mai4567/CNC 下载编译报错:error: src/dxflib.a: 没有那个文件或目录: 解决:下载dxflibhttps://www.ribbonsoft.com/en/dxflib-downloads,下载完后编译,编译后得到libdxflib.a,替换掉项目makefi

pixel_link记录

export PYTHONPATH=/path2to/pixel_link/pylib/src:$PYTHONPATH   https://blog.csdn.net/northeastsqure/article/details/83655200   https://blog.csdn.net/u011440558/article/details/78606662   报错: All

nginx问题记录以及解决方法

问题描述: 打开多个nginx.exe 结果在任务管理器中不能结束该进程 解决办法: 以管理员的身份运行cmd 1、查看所有nginx.exe 进程 tasklist /fi "imagename eq nginx.exe" 2、结束这些进程 taskkill /fi "imagename eq nginx.exe" /f 问题描述: 配置前端项目路径然后就直接看本地项目路径的属

spring mvc完整项目创建步骤记录

快速创建一个spring mvc项目(只有页面调用→到controller→到页面) 1、首先创建Dynamic Web Project 2、创建jsp页面index.jsp以及成功(/WEB-INF/view/success.jsp)和失败页面(/WEB-INF/view/error.jsp) index.jsp <%@ page language="java" contentType=

JAVA特殊问题记录

1、时间方面   关于YYYY与yyyy的以及HH与hh的区别 public class Test {public static void main(String[] args) throws Exception{String time = "2019-12-29 13:16";SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd hh: