蓝桥杯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位…...

【OpenLayers】VUE+OpenLayers+ElementUI加载WMS地图服务
【OpenLayers】VUEOpenLayersElementUI加载WMS地图服务准备工作安装vue创建vue项目安装OpenLayers安装ElementUI加载wms地图服务准备工作 需要安装好nodejs,nodejs下载地址,下载对应的版本向导式安装即可。 安装完成后,控制台输入node -v&a…...

linux 命名管道 mkfifo
专栏内容:linux下并发编程个人主页:我的主页座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发编程…...

Redis(主从复制、哨兵模式、集群)概述及部署
目录 1.redis高可用 2.redis持久化 1.Redis 提供两种方式进行持久化: 2.RDB 持久化 3.AOF持久化 4.RDB和AOF的优缺点 5.Redis 性能管理 3.redis主从复制 1.Redis主从复制的概念 2.Redis主从复制的作用 3.Redis主从复制的搭建 4.redis哨兵模式 1.哨兵模式…...

windows下软件包安装工具之Scoop安装与使用
Scoop介绍 Scoop是Windows的命令行程序安装器。 Scoop从命令行安装程序,及其容易。它有如下特点: 消除权限弹出窗口隐藏 GUI 向导样式的安装程序防止安装大量程序的 PATH 污染避免安装和卸载程序的意外副作用自动查找并安装依赖项自行执行所有额外的设…...

九龙证券|人工智能+国产软件+智慧城市概念股火了,欧洲资管巨头大举抄底
近一周组织调研个股数量有130多只,迈瑞医疗成为调研组织数量最多的股票。 证券时报数据宝统计,近一周组织调研公司数量有130多家。从调研组织类型来看,证券公司调研相对最广泛,调研80多家公司。 迈瑞医疗获超500家组织调研 迈瑞…...

Nacos下载安装与配置(windows)
一、Nacos下载 官网地址:home (nacos.io) 点击前往Github,跳转至Github下载页面。 点击Tags,跳转至版本选择页面,此处选择2.2.0版本。 点击nacos-server-2.2.0.zip,进行下载。 二、Nacos安装 将下载的压缩包解压至需…...

QT学习笔记(语音识别项目 )
语音识别项目 我们知道 AI 智能音箱已经在我们生活中不少见,也许我们都玩过,智能化非常高,功能 强大,与我们平常玩的那种蓝牙音箱,Wifi 音箱有很大的区别,AI 智能在哪里呢?语音识别技 术和云端…...

Vulnhub:DC-4靶机
kali:192.168.111.111 靶机:192.168.111.251 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --scripthttp-enum 192.168.111.251 访问目标网站发现需要登录 使用账号admin爆破出密码:happy 登陆后抓包执行反弹shell 提权 在/home/jim/backu…...

序列差分练习题--从模板到灵活运用
本篇包含6道序列差分练习题及题解,难度由模板到提高 语文成绩 题目背景 语文考试结束了,成绩还是一如既往地有问题。 题目描述 语文老师总是写错成绩,所以当她修改成绩的时候,总是累得不行。她总是要一遍遍地给某些同学增加分…...

Xshell 连接 Ubuntu 20.04
1 更改网络配置信息 修改/etc/netplan/01-network-manager-all.yaml文件信息 sudo gedit /etc/netplan/01-network-manager-all.yaml删除原有内容,替换为以下信息: 注意:addresses、gateway4 要根据个人虚拟机的实际情况修改 # Let Networ…...