蓝桥杯31天真题冲刺|题解报告|第二十九天
大家好,我是snippet,今天是我们刷题的第二十九天,今天主打打比赛,牛客+AcWing+力扣,今天的牛客是真的有趣,下面是我今天AcWing周赛的题解
目录
一、热身计算
题目链接:4944. 热身计算 - AcWing题库
题目内容:
解题思路:
代码:
二、比大小
题目链接:4945. 比大小 - AcWing题库
题目内容:
解题思路:
代码:
三、叶子节点
题目链接:4946. 叶子节点 - AcWing题库
题目内容:
解题思路:
代码:
一、热身计算
题目链接:4944. 热身计算 - AcWing题库
题目内容:
给定两个正整数 a,b,请你分别计算 min(a,b) 以及 ⌊|a−b|/2⌋ 的值。
⌊|a−b|/2⌋ 表示不大于 |a−b|/2 的最大整数。
输入格式
共一行,包含两个正整数 a,b。
输出格式
共一行,输出两个整数,分别表示 min(a,b) 以及 ⌊|a−b|/2⌋。
数据范围
所有测试点满足 1≤a,b≤100。
输入样例1:
3 1
输出样例1:
1 1
输入样例2:
2 3
输出样例2:
2 0
输入样例3:
7 3
输出样例3:
3 2
解题思路:
直接暴力数学计算
代码:
package 蓝桥杯31天真题冲刺.Day29.AcWing第97场周赛;import java.io.*;/*** @author snippet* @data 2023-04-01* AcWing第97场周赛-热身计算*/
public class T1_热身计算 {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));static int a,b;public static void main(String[] args) throws IOException {String[] s = br.readLine().split(" ");a = Integer.parseInt(s[0]);b = Integer.parseInt(s[1]);pw.print(Math.min(a,b) + " " + (Math.abs(a-b))/2);pw.flush();br.close();}
}
二、比大小
题目链接:4945. 比大小 - AcWing题库
题目内容:
给定一个 n 位 bx 进制数 X 和一个 m 位 by 进制数 Y。
X 和 Y 都为正整数,且都不含前导 00。
请你比较它们的大小。
输入格式
第一行包含两个整数 n,bx。
第二行包含 n 个整数 x1,x2,…,xn,表示 X 的各位数字,它们按照从最高有效位到最低有效位的顺序给出。
第三行包含两个整数 m,by。
第四行包含 m 个整数 y1,y2,…,ym,表示 Y 的各位数字,它们按照从最高有效位到最低有效位的顺序给出。
X 和 Y 的各位数字在输入中均按十进制表示给出。
输出格式
共一行:
如果 X<Y,则输出
<
。如果 X>Y,则输出
>
。如果 X=Y,则输出
=
。数据范围
前 66 个测试点满足 2≤bx,by≤16。
所有测试点满足 1≤n,m≤10,2≤bx,by≤40,bx≠by,0≤xi<bx,0≤yi<by。输入样例1:
6 2 1 0 1 1 1 1 2 10 4 7
输出样例1:
=
输入样例2:
3 3 1 0 2 2 5 2 4
输出样例2:
<
输入样例3:
7 16 15 15 4 0 0 7 10 7 9 4 8 0 3 1 5 0
输出样例3:
>
解题思路:
根据进制转换的规律,把这些数转为10进制数再进行比较就可以了
代码:
package 蓝桥杯31天真题冲刺.Day29.AcWing第97场周赛;import java.io.*;/*** @author snippet* @data 2023-04-01* AcWing第97场周赛-比大小*/
public class T2_比大小 {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));static int n,m,bx,by;static int[] x = new int[11];static int[] y = new int[11];public static void main(String[] args) throws IOException {String[] s = br.readLine().split(" ");n = Integer.parseInt(s[0]);bx = Integer.parseInt(s[1]);s = br.readLine().split(" ");long ans1 = 0;for (int i = 1; i <= n; i++) {x[i] = Integer.parseInt(s[i-1]);ans1 += x[i] * Math.pow(bx,(n-i));}s = br.readLine().split(" ");m = Integer.parseInt(s[0]);by = Integer.parseInt(s[1]);s = br.readLine().split(" ");long ans2 = 0;for (int i = 1; i <= m; i++) {y[i] = Integer.parseInt(s[i-1]);ans2 += y[i] * Math.pow(by,(m-i));}if (ans1 == ans2) pw.println("=");else if (ans1 > ans2) pw.println(">");else pw.println("<");pw.flush();br.close();}
}
三、叶子节点
题目链接:4946. 叶子节点 - AcWing题库
题目内容:
给定一棵 n个节点的树,节点编号 1∼n。
11 号节点为树的根节点。
每个节点要么是黑色的,要么是白色的。
对于一个叶子节点,如果从该节点到根节点的路径(包括两端节点)中有超过 m 个黑色节点连续的排列在一起,则称该节点为无效叶子节点。
有效叶子节点数量 = 总叶子节点数量 - 无效叶子节点数量
请你统计,给定树中有效叶子节点的数量。
输入格式
第一行包含两个整数 n,m。
第二行包含 n 个整数 a1,a2,…,an,其中 ai 表示第 i 个节点的颜色,1 表示黑色,0 表示白色。
接下来 n−1 行,每行包含两个整数 x,y,表示节点 x 和节点 y 之间存在一条无向边。
保证输入给定的是一棵树。
输出格式
一个整数,表示给定树中有效叶子节点的数量。
数据范围
前 66 个测试点满足 2≤n≤10。
所有测试点满足 2≤n≤10^5,1≤m≤n,0≤ai≤1,1≤x,y≤n,x≠y。输入样例1:
4 1 1 1 0 0 1 2 1 3 1 4
输出样例1:
2
输入样例2:
7 1 1 0 1 1 0 0 0 1 2 1 3 2 4 2 5 3 6 3 7
输出样例2:
2
解题思路:
建图存储数据,再对图进行搜索,(这个题在比赛的时候想到了思路 没写出来 后面看了题解之后才AC的)
代码:
package 蓝桥杯31天真题冲刺.Day29.AcWing第97场周赛;import java.io.*;
import java.util.ArrayList;
import java.util.List;/*** @author snippet* @data 2023-04-01* AcWing第97场周赛-叶子节点*/
public class T3_叶子节点 {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));static int n,m,ans;static int N = (int) (1e5+10);static int[] color = new int[N];// 每个位置的颜色 0为白色 1为黑色// 用图来存数据static List<List<Integer>> graph = new ArrayList<>();static void dfs(int node, int parent, int cnt, boolean flag) {int child_black = 0;for (int child : graph.get(node)) {if (child != parent) {child_black++;// 如果这个点为白色 则重新计数if (color[node] == 0) cnt = 0;// 如果黑色的连续数超过规定数m时 直接returnif (cnt + color[node] > m) return;dfs(child, node, cnt+color[node], flag);}}if (child_black == 0 && cnt + color[node] <= m && flag) ans++;}public static void main(String[] args) throws IOException {String[] s = br.readLine().split(" ");n = Integer.parseInt(s[0]);m = Integer.parseInt(s[1]);s = br.readLine().split(" ");for (int i = 1; i <= n; i++) {// 1是黑色 0是白色color[i] = Integer.parseInt(s[i-1]);}for (int i = 0; i <= n; i++) {graph.add(new ArrayList<>());}for (int i = 1; i < n; i++) {s = br.readLine().split(" ");int a = Integer.parseInt(s[0]);int b = Integer.parseInt(s[1]);graph.get(a).add(b);graph.get(b).add(a);}dfs(1, -1, 0, true);pw.println(ans);pw.flush();br.close();}
}
相关文章:

蓝桥杯31天真题冲刺|题解报告|第二十九天
大家好,我是snippet,今天是我们刷题的第二十九天,今天主打打比赛,牛客AcWing力扣,今天的牛客是真的有趣,下面是我今天AcWing周赛的题解 目录 一、热身计算 题目链接:4944. 热身计算 - AcWing题…...

[Rust GUI]fltk-rs的helloworld
1、安装VSCode 下载安装VSCode 安装VSCode扩展 rust-analyzer或rust-analyzer(CN) 2、安装Microsoft C 生成工具 访问微软官网下载生成工具,勾选使用 C 的桌面开发之后会自动勾选5个项目 取消勾选以下项目 用于 Windows 的 C CMake 工具 测试工具核心功能 - 生成…...
蓝桥杯真题05
重新排序 问题描述 给定一个数组 A 和一些查询 Li,Ri 求数组中第 Li 至第 Ri个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组, 所有查询结果的总和最多可以增加多少? 输入格式 输入第一行包含…...

PMP那些事儿,备考小白看过来
一、PMP是什么? PMP指的是项目管理专业人士资格认证。它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。 其目的是为了给项目管理人员提供统一的行业标准。目前࿰…...

【数据分析实战】基于python对酒店预订需求进行分析
文章目录📚引言📖数据加载以及基本观察📑缺失值观察及处理🔖缺失值观察以及可视化🔖缺失值处理📖用户数据探索📑什么时间预定酒店将会更经济实惠?📑哪个月份的酒店预订是…...

【新2023Q2模拟题JAVA】华为OD机试 - 数组的中心位置
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:数组的中心位置 题目 给你一…...
Vue的props组件详解
const props defineProps({name: String, }); String 是在 defineProps() 函数中用来声明 name prop 的类型,表示 name 必须是字符串类型。如果父组件没有传入 name 或传入的 name 不是字符串类型,那么就会产生类型验证错误。 defineProps() 函数支持…...

抽烟行为识别预警系统 yolov5
抽烟行为识别预警系统基于yolov5网络模型智能分析技术,抽烟行为识别预警算法通过监测现场人员抽烟行为自动存档进行报警提示。我们选择当下YOLO卷积神经网络YOLOv5来进行抽烟识别检测。6月9日,Ultralytics公司开源了YOLOv5,离上一次YOLOv4发布…...

【0基础学爬虫】爬虫基础之文件存储
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…...
airflow源码分析-任务调度器实现分析
Airflow源码分析-任务调度器实现分析 概述 本文介绍Airflow执行器的总体实现流程。通过函数调用的方式说明了Airflow scheduler的实现原理,对整个调度过程的源码进行了分析。 通过本文,可以基本把握住Airflow的调度器的运行原理主线。 启动调度器 可…...
一文学会数组的reduce()和reduceRight()
reduce()方法和reduceRight()方法依次处理数组的每个成员,最终累计为一个值。 它们的差别是,reduce()是从左到右处理,reduceRight()则是从右到左,其他完全一样。 [1, 2, 3, 4, 5].reduce(function (a, b) {console.log(a, b);ret…...

登录校验-Filter
上一篇介绍完了基础应用和细节,现在来完成登录校验功能基本流程: 要进入后台管理系统,必须完成登录操作,此时就需要访问登录接口Login。登录成功服务端会生成一个JWT令牌,并且返回给前端,前端会将JWT令牌存…...
C C++ Java python 分别写出不同表白girlfriend的爱心动态代码实现
C `` #include <stdio.h> #include <stdlib.h> #include <windows.h> void heart_animation() {int i, j, k; for (i = 1; i <= 6; i++) {for (j = -3; j <= 3; j++) {for (k = -4; k <= 4; k++) {if (abs(j) + abs(k) < i * 2) {printf(“I”)…...

ThreeJS-投影、投影模糊(十七)
无投影: 完整的代码: <template> <div id"three_div"></div> </template> <script> import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/Or…...
蓝桥杯赛前冲刺-枚举暴力和排序专题1(包含历年蓝桥杯真题和AC代码)
目录 连号区间数(第四届蓝桥杯省赛CB组,第四届蓝桥杯省赛JAVAB组) 递增三元组(第九届蓝桥杯省赛CB组,第九届蓝桥杯省赛JAVAB组) 特别数的和(第十届蓝桥杯省赛CB组,第十届蓝桥杯省赛JAVAB组) 错误票据&a…...

Github库中的Languages显示与修改
目录 前言 【.gitattributes】文件 修改GitHub语言 前言 上传一个项目到GitHub时,发现显示的语言并非是自己项目所示的语言,这样的情况是经常发生的,为了能到达自己所需快速检索,或者是外部访问者能很好的搜索我们的项目&#…...
RocketMQ消息高可靠详解
文章目录 消息同步策略殊途同归同步基于offset而不是消息本身刷盘策略RocketMQ broker服务端以组为单位提供服务的,拥有着一样的brokerName则认为是一个组。其中brokerId=0的就是master,大于0的则为slave。 消息同步策略 master和slave都可以提供读服务,但是只有master允许…...
【python设计模式】4、建造者模式
哲学思想: 建造者模式的哲学思想是将复杂对象的创建过程分解成多个简单的步骤,并将这些步骤分别封装在一个独立的建造者类中。然后,我们可以使用一个指挥者类来控制建造者的调用顺序,以便在每个步骤完成后正确地构建复杂对象。 …...
【全网独家】华为OD机试Golang解题 - 机智的外卖员
华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 如果想要在华为od机试中获取高分…...

Sentinel滑动时间窗限流算法原理及源码解析(中)
文章目录 MetricBucketMetricEvent数据统计的维度WindowWrap样本窗口实例 范型T为MetricBucket windowLengthInMs 样本窗口长度 windowStart 样本窗口的起始时间戳 value 当前样本窗口的统计数据 其类型为MetricBucket MetricBucket MetricEvent数据统计的维度 1、首先计算27t位…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...