第十四届蓝桥杯模拟赛第三期(Python)
写在前面
- 包含本次模拟赛的10道题题解
- 能过样例,应该可以AC
- 若有错误,欢迎评论区指出
- 本次题目除了最后两题有些难度,其余题目较为简单,我只将代码和结果给出,如果不能理解欢迎私信我,我会解答滴。

start = 2022 def check(num) : s = str(hex(num))[2:] for i in range(len(s)) : if ord(s[i]) < ord('a') or ord(s[i]) > ord('f') : return False return True while 1 : start += 1 if check(start) : break print(start)

#没代码,直接草稿纸手推就行了
import datetime start = datetime.date(1900,1,1)
end = datetime.date(9999,12,31)
diff = datetime.timedelta(1) def check(num) : year, month, day = num.split('-')if sum(list(map(int,year))) == sum(list(map(int,month))) + sum(list(map(int,day))) : return True return False ans = 0
while start <= end : if check(str(start)) : ans += 1 if start == end : break start += diff print(ans)

s = '99,22,51,63,72,61,20,88,40,21,63,30,11,18,99,12,93,16,7,53,64,9,28,84,34,96,52,82,51,77'lst = list(map(int,s.split(',')))ans = 0 for i in range(29) : for j in range(i + 1, 30) : if lst[i] * lst[j] >= 2022 : ans += 1 print(ans)

s = '110010000011111110101001001001101010111011011011101001111110\
010000000001010001101100000010010110001111100010101100011110\
001011101000100011111111111010000010010101010111001000010100\
101100001101011101101011011001000110111111010000000110110000\
010101100100010000111000100111100110001110111101010011001011\
010011011010011110111101111001001001010111110001101000100011\
101001011000110100001101011000000110110110100100110111101011\
101111000000101000111001100010110000100110001001000101011001\
001110111010001011110000001111100001010101001110011010101110\
001010101000110001011111001010111111100110000011011111101010\
011111100011001110100101001011110011000101011000100111001011\
011010001101011110011011111010111110010100101000110111010110\
001110000111100100101110001011101010001100010111110111011011\
111100001000001100010110101100111001001111100100110000001101\
001110010000000111011110000011000010101000111000000110101101\
100100011101011111001101001010011111110010111101000010000111\
110010100110101100001101111101010011000110101100000110001010\
110101101100001110000100010001001010100010110100100001000011\
100100000100001101010101001101000101101000000101111110001010\
101101011010101000111110110000110100000010011111111100110010\
101111000100000100011000010001011111001010010001010110001010\
001010001110101010000100010011101001010101101101010111100101\
001111110000101100010111111100000100101010000001011101100001\
101011110010000010010110000100001010011111100011011000110010\
011110010100011101100101111101000001011100001011010001110011\
000101000101000010010010110111000010101111001101100110011100\
100011100110011111000110011001111100001110110111001001000111\
111011000110001000110111011001011110010010010110101000011111\
011110011110110110011011001011010000100100101010110000010011\
010011110011100101010101111010001001001111101111101110011101'def check(x, y) : res = 0 queue = [(x, y)] while queue : nx, ny = queue.pop(0) res += 1 st[nx][ny] = False for i, j in [(1,0), (-1,0), (0,1), (0,-1)] : px = nx + i ; py = ny + j if 0 <= px < 30 and 0 <= py < 60 and Map[px][py] == '1' and st[px][py] : queue.append((px,py)) return res Map = [[0] * 60 for i in range(30)]for i in range(30) :for j in range(60) :Map[i][j] = s[i*30+j]st = [[True] * 60 for i in range(30)] ans = 0
for i in range(30) : for j in range(60) : if Map[i][j] == '1' and st[i][j] : ans = max(ans, check(i, j)) print(ans)

x = int(input())
n = int(input()) x = x + (n % 7)print(x if x <= 7 else x - 7)

from math import sqrt, piW,H,n,r = map(int,input().split()) def get_dist(x1, y1, x2, y2) : dx = x1 - x2 dy = y1 - y2 return sqrt(dx * dx + dy * dy) def check(x, y) : for i, j in loc : if get_dist(x, y, i, j) <= r : return True return False loc = []
for i in range(n) : x,y = map(int,input().split()) loc.append((x,y))ans = 0
for i in range(W + 1) : for j in range(H + 1) : if check(i, j) : ans += 1 print(ans)


N,M = map(int,input().split())
T = int(input())Map = [[True] * (M + 1) for i in range(N + 1)]
for _ in range(T) : r1,c1,r2,c2 = map(int,input().split()) for i in range(r1, r2 + 1) : for j in range(c1, c2 + 1) : Map[i][j] = False ans = 0
for i in range(1, N + 1) : ans += Map[i][1:].count(True)print(ans)


这道题是经典的滑雪道记忆化搜索的题目,我写过一篇很详细的题解,请自行参考。
蓝桥杯/洛谷 : 最长滑雪道/滑雪 + 扩展题目(记忆化搜索 Python)_蓝桥杯滑雪_正在黑化的KS的博客-CSDN博客
N,M = map(int,input().split())
Map = [] for i in range(N) : Map.append(list(map(int,input().split()))) dist = [[-1] * M for i in range(N)] def find(x, y) : if dist[x][y] != -1 : return dist[x][y]dist[x][y] = 0 for i,j in [(1,0),(0,1),(-1,0),(0,-1)] : px = x + i ; py = y + j if 0 <= px < N and 0 <= py < M and Map[px][py] < Map[x][y] : dist[x][y] = max(dist[x][y], find(px, py)) dist[x][y] += 1 return dist[x][y] ans = 0
for i in range(N) : for j in range(M) : ans = max(ans, find(i, j)) print(ans)


重点题目来了!(敲黑板
有几位小伙伴私信问我这道题目该怎么解,我先说明我是用线段树解决的,但我认为应该还有别的解法,只是我目前还没有想到,如果有与我解法不同的方法可以放在评论区,大家一起讨论哈。
题目大意就是说,对于每一个点i而言,它的前 k 个点到后 k 个点这段 2k + 1 的区间中,最小数是多少。(区间边界是 0 ~ n - 1)
首先先说下超时做法,我们很容易想到,可以依次枚举每个点i,对每个点i再枚举它的
2k + 1 这个区间,维护一个最小值。这样的做法最坏情况下的时间复杂度是
,对于这道题而言,n最大有10^6,因此肯定会超时。
正解如下,其实本质上这道题目是一道线段树的简化版,因为只涉及区间查询,不涉及区间修改,所以建树之后每次按要求查询区间就可以了。线段树的理论有些复杂,这里就不再给大家详细讲了,网上有很多篇关于线段树优秀的讲解。大家可以自行翻阅,如果已经理解了线段树还是不能看懂我的代码的话,可以来私信我。
Python3代码:
N = 10 ** 6 + 10
INF = float('inf')n = int(input())
w = list(map(int,input().split())) class Node : def __init__(self, l, r, v) : self.l = l self.r = r self.v = v tr = [None] * (4 * N) def pushup(u) : tr[u].v = min(tr[u << 1].v, tr[u << 1 | 1].v) def build(u, l, r) :if l == r : tr[u] = Node(l, r, w[r]) else : tr[u] = {l, r, INF} mid = l + r >> 1 build(u << 1, l, mid) ; build(u << 1 | 1, mid + 1, r) pushup(u) def query(u, l, r) :if l <= tr[u].l and r >= tr[u].r : return tr[u].v mid = tr[u].l + tr[u].r >> 1 res = INF if l <= mid : res = min(res, query(u << 1, l, r))if r > mid : res = min(res, query(u << 1 | 1, l, r)) return res build(1, 0, n - 1) k = int(input())
for i in range(n) : print(query(1, max(0, i - k), min(n - 1, i + k)), end = ' ')
Tip: 考虑到很多小伙伴是C++组选手,我这里也贴一份C++的代码,以供参考。
Python写线段树真的有点反人类..
C++代码:
#include <iostream>
#include <algorithm>
#include <cstring>using namespace std ;typedef long long LL ; const int N = 1e6 + 10 ;
int n, k ;
int w[N] ; struct Node
{int l, r, mn ;
}tr[4 * N] ; void pushup(int u)
{tr[u].mn = min(tr[u << 1].mn, tr[u << 1 | 1].mn) ;
}void build(int u, int l, int r)
{if (l == r) tr[u] = {l, r, w[r]} ; else {tr[u] = {l, r} ; int mid = l + r >> 1 ; build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r) ; pushup(u) ; }
}int query(int u, int l, int r)
{if (l <= tr[u].l && r >= tr[u].r) return tr[u].mn ; int mid = tr[u].l + tr[u].r >> 1 ;int res = 0x3f3f3f3f ; if (l <= mid) res = min(res, query(u << 1, l, r)) ; if (r > mid) res = min(res, query(u << 1 | 1, l, r)) ; return res ;
}int main()
{ios::sync_with_stdio(false) ; cin >> n ; for (int i = 0 ; i < n ; i ++ ) cin >> w[i] ; build(1, 0, n - 1) ; cin >> k ; for (int i = 0 ; i < n ; i ++ ) cout << query(1, max(0, i - k), min(n - 1, i + k)) << " " ; return 0 ;
}
写在最后
还有一个月左右省赛就要开始了,预祝大家能有个圆满且理想的成绩。
如果我的文章对你有一些帮助,可以留下你的👍
谢谢你的阅读。
相关文章:
第十四届蓝桥杯模拟赛第三期(Python)
写在前面 包含本次模拟赛的10道题题解能过样例,应该可以AC若有错误,欢迎评论区指出本次题目除了最后两题有些难度,其余题目较为简单,我只将代码和结果给出,如果不能理解欢迎私信我,我会解答滴。start 2022…...
css-盒模型
巧妙运用margin负值盒模型和怪异盒模型(border padding 包含在内)display: block 能让textarea input 水平尺寸自适应父容器? – 不能 * {box-sizing: border-box; // bs: bb }<textarea/> 是替换元素,尺寸由内部元素决定,不受display水平影响. 当然可以直接设置宽度10…...
Linux | 调试器GDB的详细教程【纯命令行调试】
文章目录一、前言二、调试版本与发布版本1、见见gdb2、程序员与测试人员3、为什么Release不能调试但DeBug可以调试❓三、使用gdb调试代码1、指令集汇总2、命令演示⌨ 行号显示⌨ 断点设置⌨ 查看断点信息⌨ 删除断点⌨ 开启 / 禁用断点⌨ 运行 / 调试⌨ 逐过程和逐语句⌨ 打印 …...
wifi芯片大市场和个人小生活
3.3 是日也,天朗气清,惠风和畅。仰观宇宙之大,俯察论文论坛,所以游目骋怀,足以极视听之娱,信可乐也。 夫人之相与,俯仰一世,或取诸怀抱,悟言一室之内;或因寄所…...
全国计算机技术与软件专业技术资格(水平)考试 上半年2023年3月13日开始,下半年2023年8月14日开始
根据2023年计算机技术与软件专业技术资格(水平)考试工作计划,可以得知,2023年软考报名时间——上半年2023年3月13日开始,下半年2023年8月14日开始。 点击查看:人力资源社会保障部办公厅关于2023年度专业技术人员职业资格考试工作计划及有关事项的通知 点击查看:2023年度…...
大数据框架之Hadoop:MapReduce(六)Hadoop企业优化
一、MapReduce 跑的慢的原因 MapReduce程序效率的瓶颈在于两点: 1、计算机性能 CPU、内存、磁盘、网络 2、IO操作优化 数据倾斜Map和Reduce数设置不合理Map运行时间太长,导致Reduce等待过久小文件过多大量的不可分块的超大文件Spill次数过多Merge次…...
Spring File Storage的详细文档
快速入门配置pom.xml引入依赖<dependencies><!-- spring-file-storage 必须要引入 --><dependency><groupId>cn.xuyanwu</groupId><artifactId>spring-file-storage</artifactId><version>0.7.0</version></dependen…...
Java软件开发好学吗?学完好找工作吗?
互联网高速发展的当下,Java语言无处不在:手机APP、Java游戏、电脑应用,都有它的身影。作为最热门的开发语言之一,Java在编程圈的地位不可撼动。可是,听名字就很专业的样子。Java语言到底好学吗?刚入坑编程圈…...
【独家C】华为OD机试提供C语言题解 - 优秀学员统计
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明优秀…...
数据仓库、数据中台、数据湖都是什么?
相信很多人都在最近的招聘市场上看到过招聘要求里提到了数据仓库、数据中台,甚至还有数据湖,这些层出不穷的概念让人困扰。今天我就来跟大家讲一讲数据仓库、数据中台以及数据湖的概念及区别。 数据库 在了解数据仓库、数据中台以及数据湖之前ÿ…...
0099 MySQL02
1.简单查询 查询一个字段 select 字段名 from 表名; 查询多个字段,使用“,”隔开 select 字段名,字段名 from 表名; 查询所有字段 1.把每个字段都写上 select 字段名,字段名,字段名.. from 表名; 2.使用*(效率低,可读性差) select *…...
应急响应-ubuntu系统cpu飙高
这里写目录标题一、排查过程二、处置过程三、溯源总结一、排查过程 1、查看CPU使用情况 top -c2、查看异常进程的具体参数 ps -aux3、通过微步查询域名信息 4、查看异常进程的监听端口 netstat -anlpt5、查找服务器内的异常文件 ls cat run.sh cat mservice.sh6、查看脚本…...
MDK软件使用技巧
本文主要汇总MDK软件使用技巧 一、字体大小及颜色修改 第一步点击工具栏的这个小扳手图标 进去后显示如下,先设置 Encoding 为:Chinese GB2312(Simplified),然后设置 Tab size 为:4 以更好的支持简体中文,否则&…...
3 333333
全部 答对 答错 单选题 1. 一个项目来取代目前公司的文件存储系统已经获批。外部供应商提供硬件,内部团队开发软件。这个团队是自组织的,由一般的专家组成。团队建议迭代地与供应商合作,但供应商表示拒绝。因此,只有软件将被迭代…...
1528. 重新排列字符串
1528. 重新排列字符串https://leetcode.cn/problems/shuffle-string/ 难度简单52收藏分享切换为英文接收动态反馈 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新…...
【8】【用户操作日志】操作日志SpringBootStarter
操作日志 此版本操作日志主要就是通过AOP拦截器实现的,整体主要分为AOP拦截器、自定义函数、日志上下文、扩展接口;组件提供了6个扩展点,自定义函数、日志上下文、用户信息获取,日志保存,自定义异常获取,入…...
【游戏逆向】寻路函数隐藏检测点分析
案例: 某游戏出现调用寻路函数失败异常崩溃。 基本情况分析: 在刚登陆游戏的时候直接调用寻路函数崩溃。 手动寻路以后再调用寻路不崩溃。(排除了函数编写错误的可能) 猜测可能检测方法: 有某一个标志位(全局类型)在游戏刚登陆的时候没…...
【Zabbix实战之运维篇】Zabbix监控Docker容器配置方法
【Zabbix实战之运维篇】Zabbix监控Docker容器配置方法 一、检查Zabbix监控平台状态1.检查Zabbix各组件容器状态2.奸诈Zabbix-server状态二、下载监控模板1.进入Zabbix官网下载页面2.查看下载模板三、创建一个测试容器1.创建一个测试容器2.检查测试容器状态3.访问测试web服务四、…...
这款 Python 工具进行数据分析及数据可视化真的很棒啊
前言 大家好,今天我们以全国各地区衣食住行消费数据为例,来分析2022年中国统计年鉴数据,统计全国各地人民的消费地图,看看: 哪个省份的人最能花钱 哪个省份的人最舍得花钱 哪个省份的人最抠门 全国各地区人民在吃、穿…...
visual Studio Code常用快捷键
1、向上/向下移动代码行 alt 下箭头/上箭头 2、向上/向下复制一行代码 shiftalt 下箭头/上箭头 3、选定多个相同的单词 ctrl d 4、全局替换 ctrl h 5、快速定位到某一行 ctrl g 6、放大缩小整个编辑器界面 ctrl / - 7、添加多个光标 Ctrl Alt 上箭头/下箭头…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
