牛客周赛 Round 33 解题报告 | 珂学家 | 思维场


前言


整体评价

感觉这场更偏思维,F题毫无思路,但是可以模拟骗点分, E题是dij最短路.


A. 小红的单词整理

类型: 签到

w1,w2 = input().split()
print (w2)
print (w1)

B. 小红煮汤圆

思路: 模拟

可以从拆包的角度去构建模拟

注意拆一包,可以烧好几次的情况

n, x, k = list(map(int, input().split()))res = []
pack = 0
left = 0
for i in range(n):left += xpack += 1while left >= k:res.append(pack)left -= kpack = 0print (len(res))
print (*res, sep=' ')

C. 小红的 01 串

思路: 枚举

其实只能删除第1/第2,只能保证删除数组的前面一个区间,最多保留一个

题外话

如果题目改成第1/第2/…/第k,那最大价值数组是多少?

其实也是类似的思路


枚举最后一个被删除的位子

这样价值为 [前缀最多一位] + [后缀区间价值和]

s = input()n = len(s)n0, n1 = 0, 0
for c in s:if c == '0':n0 += 1else:n1 += 1# 然后枚举
res = max(0, n1 - n0)t1 = 0
for i in range(n):if s[i] == '0':n0 -= 1else:n1 -= 1t1 += 1res = max(res, n1 - n0 + (1 if t1 > 0 else 0))print (res)

D. 小红的数组清空

思路: 贪心

尽量从最小值开始删除,带动连续数组

貌似这边for嵌套while,看似时间复杂度很高,但实际上,每次都会有效删除至少1,而n最多1e5,所以均摊下来为O(1)

时间复杂度为 O ( n ) O(n) O(n)

# 贪心
n = int(input())
arr = list(map(int, input().split()))from collections import Countercnt = Counter(arr)brr = [[k, v] for (k, v) in cnt.items()]
brr.sort(key=lambda x: x[0])ans = 0
m = len(brr)
for i in range(m):if brr[i][1] > 0:j = i + 1cost = brr[i][1]brr[i][1] = 0ans += costwhile j < m and cost > 0 and brr[j - 1][0] + 1 == brr[j][0]:cost = min(cost, brr[j][1])            brr[j][1] -= costj += 1print (ans)

E. 小红勇闯地下城

思路: dijkstra最短路

题型: 板子题

t = int(input())import heapq
from math import infdef solve(grids, health):h, w = len(grids), len(grids[0])sy, sx = -1, -1ty, tx = -1, -1for i in range(h):for j in range(w):if grids[i][j] == 'S':sy, sx = i, jelif grids[i][j] == 'T':ty, tx = i, jif sy == -1 or ty == -1:return "No"arr = []vis = [[inf] * w for _ in range(h)]heapq.heappush(arr, (0, sy, sx))vis[sy][sx] = 0while len(arr) > 0:cur = heapq.heappop(arr)if cur[0] > vis[cur[1]][cur[2]]:continueif cur[0] >= health:continueif cur[1] == ty and cur[2] == tx:return "Yes"for (dy, dx) in [(1, 0), (-1, 0), (0, -1), (0, 1)]:gy = cur[1] + dygx = cur[2] + dxif gy >= h or gy < 0 or gx >= w or gx < 0:continuetcost = 0if grids[gy][gx] >= '0' and grids[gy][gx] <= '9':tcost = ord(grids[gy][gx]) - ord('0')if vis[gy][gx] > cur[0] + tcost and cur[0] + tcost < health:vis[gy][gx] = cur[0] + tcostheapq.heappush(arr, (vis[gy][gx], gy, gx))return "No"for _ in range(t):n, m, h = list(map(int, input().split()))grids = []for _ in range(n):grids.append(input())print (solve(grids, h))

F. 小红的数组操作

后期再补上


写在最后

alt

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

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

相关文章

抖音视频抓取软件的优势|视频评论内容提取器|批量视频下载

抖音视频抓取软件在市场上的优势明显&#xff1a; 功能强大&#xff1a;我们的软件支持关键词搜索抓取和分享链接单一视频提取两种方式&#xff0c;满足用户不同的需求。同时&#xff0c;支持批量处理数据&#xff0c;提高用户获取视频的效率。 操作简单&#xff1a;我们的软件…

【技术分享】使用nginx完成动静分离➕集成SpringSession➕集成sentinel➕集成seata

&#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于技术点的相关分享吧 目录 &#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 一、 使用nginx完成动静分离 1.下载…

人工智能在测绘行业的应用与挑战

目录 一、背景 二、AI在测绘行业的应用方向 1. 自动化特征提取 2. 数据处理与分析 3. 无人机测绘 4. 智能导航与路径规划 5. 三维建模与可视化 6. 地理信息系统&#xff08;GIS&#xff09;智能化 三、发展前景 1. 技术融合 2. 精准测绘 3. 智慧城市建设 4. 可…

SSM---Mybatis查询数据库的功能

Mybatis查询数据库的功能流程&#xff1a; 在maven中加入mybatis依赖&#xff0c;mysql驱动依赖创建一张student表创建表对应的实体类&#xff1a;student类&#xff0c;用来保存表中的每行数据创建持久层的DAO接口&#xff0c;用来定义操作数据库的方法创建这个表对应的sql映…

市场复盘总结 20240223

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 57% 最常用的…

1分钟带你学会Python的pass关键字和range函数

1.pass 关键字 pass关键字在 python 中没有任何实际意义&#xff0c;主要是用来完成占位的操作&#xff0c;保证语句的完整性 age int(input(请输入您的年龄&#xff1a;))if age > 18: pass # pass 在此处没有任何意义&#xff0c;只是占位 print(欢迎光临。。。…

基于Clion+stm32cubemx+rt-thread os进行环境搭建

前言 RT-Thread文档中心Clion开发STM32的环境搭建,请参考之前的文章本次使用的芯片为STM32F407VET6,其他芯片相似.项目创建 使用STM32CubeMx快速生成项目工程,此步骤的话可以参考官方文档 基础配置如下

操作符详解3

✨✨ 欢迎大家来到莉莉的博文✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 前面我们已经讲过算术操作符、赋值操作符、逻辑操作符、条件操作符和部分的单目操作 符&#xff0c;今天继续介绍一部分。 目录 1.操作符的分类 2…

babylonjs入门模

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff1a;464146715 官方文档 中文文档 最小模版 ​ 代码如下&#xff1a; 在react中使用 import React, { FC, useCallback, useEffect, useRef, useState } f…

Cover和contain属性

一.背景的盒子 代码&#xff1a; <body><div class"box"></div><style>.box {width: 500px;height: 500px;border: 1px solid #ccc;background: url(./20191017095131790.png) no-repeat;}</style></body> 盒子的宽度和高度是…

Spring Cloud Alibaba - 利用Nacos实现高效动态线程池管理

文章目录 引言概述什么是动态线程池Nacos简介如何利用Nacos实现动态线程池管理应用场景Code版本说明POM配置文件Nacos Config配置文件加载顺序1. bootstrap.yml的加载2. application.yml的加载注意事项示例 nacos配置Data IdNacos中Data ID的命名格式解释${spring.application.…

【漏洞复现】大华智慧园区综合管理平台信息泄露漏洞

Nx01 产品简介 大华智慧园区综合管理平台是一款综合管理平台&#xff0c;具备园区运营、资源调配和智能服务等功能。该平台旨在协助优化园区资源分配&#xff0c;满足多元化的管理需求&#xff0c;同时通过提供智能服务&#xff0c;增强使用体验。 Nx02 漏洞描述 大华智慧园区…