第十五届蓝桥杯JAVA的B组题目详情解析
(第一个填空太简单,就不写了,根本不用代码,直接excel计算)
目录
蓝桥杯第二个填空,类斐波那契循环数
蓝桥杯JAVA.b组第三题 -分布式队列(模拟)
食堂(蓝桥杯D题)
编辑
星际旅行(Floyd佛洛依德)
其余的有点变态,感觉学了好像也没用,还是算了
蓝桥杯第二个填空,类斐波那契循环数
首先难点就是这个题目需要读懂,当初我就是没读明白,才没写出来,我一般都是写力扣的题,力扣的题更加偏向于方法,或者说是业务上的,而蓝桥杯更偏向那种数学的类型
这个难点是弄懂那个求和符号,我好久没学,都忘了
比如说9999999这个是7位数,然后假如我们写第10位,就是
public static void main(String[]args) {for(int i=10000000;i>=0;i--){char[] a=(i+"").toCharArray();int sum=0;int[]b=new int[a.length];for(int j=0;j<a.length;j++){b[j]=Integer.valueOf(a[j]+"");sum+=b[j];}while(true) {if (sum == i) {System.out.println(sum);return;} else if (sum > i) {break;}int tmp=sum;sum = 2 * sum - b[0];for (int j = 0; j < a.length - 1; j++) {b[j] = b[j + 1];}//更新最后一个值b[a.length - 1] = tmp;//处理前一个值,进行迭代处理}}
蓝桥杯JAVA.b组第三题 -分布式队列(模拟)
这个代码是我觉得看的最清晰的一个,而且他的想法很简洁,适合我这种菜鸡
这个题难度就是你选择的问题,你假如选择不正好的策略,会麻烦好多。像是我开始想用数组,因为下标不好表示,(开始我也是寻思用集合,但是困在一些问题上,选择自己更擅长的,但是确没想到更麻烦,而且没解出来)
public static void main(String[]args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();//使用一个类似二维数组List<List<Integer>> nums=new ArrayList<>();for(int i=0;i<n;i++){//这个数组有添加n个队列nums.add(new ArrayList<>());}while (sc.hasNext()) {//通过command判断输入的例子。String command = sc.next();if (command.equals("add")) {int num=sc.nextInt();//假如此时需要添加元素,则需要在第一个集合里面添加元素nums.get(0).add(num);} else if (command.equals("sync")) {//获取到我们需要添加到哪号队列int seq = sc.nextInt();//nums获取到这个队列,假如里面的个数小于一号队列个数if(nums.get(seq).size()<nums.get(0).size()) {//nums的seq队列添加队列0里面的获取的是队列2的长度,队列2的下标永远是没到这个位置,所以需要到2号这个下标nums.get(seq).add(nums.get(0).get(nums.get(seq).size()));}} else {//找到n个队列中到元素个数int min_count = Integer.MAX_VALUE;for (int i = 0; i < n; i++) {//获取到每个元素,然后min代表最后的元素,模拟(很牛逼的思路,第二个)if (nums.get(i).size() < min_count) min_count = nums.get(i).size();}System.out.println(min_count);}}}
食堂(蓝桥杯D题)
这个题看着就恶心的模拟,但是假如说暴力穷举肯定也是可以,但是缺点是什么呢?
缺点就是她这个你很容易有想不到的情况,而且这些情况加一起,的顺序性就很恶心
所以相比较之下,还是下面这个方法更好
这道题我相信大部分人的思路肯定是从食堂桌子出发,那么我们需要做的就是分解他条件的思考
首先4个桌子,6个桌子,我们肯定是第一时间,先凑出来6人桌子,2个三人桌肯定是最优先,然后我们考虑的是什么,2+4肯定6个,2+2+2肯定6个,但是假如换个思路,假如已经坐了两个人,我们是不是可以默认这个食堂多了一个四人桌子,如果这么考虑,我们很多情况都可以合并到一起,只需要考虑四人桌子就行,
四人桌子肯定还是优先4人和2个2人,假如这些都完事了,说明什么情况呢,
存在六人桌子,存在4人和3人,但是不存在2人
存在4人桌子,可能存在两个人,可能存在三个人,(有人可能问我们在开始就判断了是否可能出现2个人,结果是一定不会有两个人,但是假如没有六人桌子的情况下,是否有可能出现2个人呢,也是有可能的)
这些情况综合起来只有一句话,就是一个桌子只能坐一个寝室,你2人,3人,4人都好
我只要把最后的桌子都放到一起,然后4人就给一个桌子(不管它是4人还是6人,反正一定能装下)
(这里补充:可能你觉得不靠谱,去试试假如5个人咋整,(5个人的前提是有2个人,2个人要么我存在6人桌子被分开,要不存在六个人的桌子,那样坐不了五个人,所以还是一个桌子一个寝室)
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[]args) {Scanner scan = new Scanner(System.in);int q=scan.nextInt();int[][]a=new int[q][5];//选择的角度应该是从桌子入手,//a[0][0]:两人寝室,[1]三人寝室,[2]四人寝室 [3]四个人桌子[4]六人桌子//更优秀的思想,把六个人的桌子转化为四个人的桌子for(int i=0;i<q;i++){for(int j=0;j<5;j++){a[i][j]=scan.nextInt();}int count=0;//a[0][0]:两人寝室,[1]三人寝室,[2]四人寝室 [3]四个人桌子[4]六人桌子//假如有六人桌子优先分配2个三人while(a[i][4]>0&&a[i][1]>=2){a[i][1]-=2;a[i][4]--;count+=6;}//假如有六人桌子优先分配1个两人,这样,就相当于多了一个四个人的桌子while(a[i][4]>0&&a[i][0]>0){a[i][4]--;a[i][0]--;a[i][3]++;//相当于多了一个四人桌子count+=2;}//假如四人桌子优先分配四个人的while(a[i][3]>0&&a[i][2]>0){a[i][2]--;a[i][3]--;count+=4;}//四人寝室没了,四人桌子优先给2个2人寝室while(a[i][3]>0&&a[i][0]>=2){//2人寝室则剪去2个a[i][0]-=2;a[i][3]--;count+=4;}//到了最后其实就都不是凑整数的情况,换句话说,咋吗都坐不满,6人能转化的,都转化了,转化不了的,也同化成4个人//因为假如你想5个人是3+2,相当于四人寝室住了3个人,换句话,最后四人桌子还是六人桌子已经没有区别了int num=a[i][4]+a[i][3];//以下的情况都是满足不了的while(num>0&&a[i][2]>0){num--;a[i][2]--;count+=4;}while(num>0&&a[i][1]>0){num--;a[i][1]--;count+=3;}while(num>0&&a[i][0]>0){num--;a[i][0]--;count+=2;}System.out.println(count);}scan.close();}}
最优分组(数学题)
星际旅行(Floyd佛洛依德)
static int n,m,q;static int[][] con;public static void main(String[] args) {Scanner zh=new Scanner(System.in);n=zh.nextInt();m=zh.nextInt();q=zh.nextInt();con=new int[n+1][n+1];//我们选择从[1-n]闭区间,不考虑0
//处理边界值比如0x之类的for(int i=1;i<=n;i++)Arrays.fill(con[i], 3010);for(int i=1;i<=n;i++)con[i][i]=0;for(int i=0;i<m;i++) {int a=zh.nextInt();int b=zh.nextInt();con[a][b]=1;con[b][a]=1;}//算法核心,核心问题也在这里k在最外面和k在循环的最里面有什么区别for(int k=1;k<=n;k++) {for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) {
//这个的核心是类似于动态规划从con[i][j],con[i][k]+[k][j],从i到j,需要i通过k到j
//相当于算从i到j位置的最短路径,con[i][j]=Math.min(con[i][j], con[i][k]+con[k][j]);}}}int ans=0;for(int i=0;i<q;i++) {int x=zh.nextInt();int y=zh.nextInt();int count=0;
//我们从x点出发,到达j点花费步骤假如小于y就说明可以到达,count++;for(int j=1;j<=n;j++)if(con[x][j]<=y)count++;//System.out.println(count);ans+=count;}System.out.printf("%.2f", (double)ans/q);}
其余的有点变态,感觉学了好像也没用,还是算了
相关文章:
第十五届蓝桥杯JAVA的B组题目详情解析
(第一个填空太简单,就不写了,根本不用代码,直接excel计算) 目录 蓝桥杯第二个填空,类斐波那契循环数 蓝桥杯JAVA.b组第三题 -分布式队列(模拟) 食堂(蓝桥杯D题) 编辑 星际旅行(Floyd佛洛依德) 其余的有点变态,感觉学了好像…...
在几分钟内将数据从 Oracle 迁移到 ClickHouse
ClickHouse 是一个开源的面向列的数据库管理系统。它在实时数据处理方面的出色性能显着增强了数据分析和业务洞察力。将数据从 Oracle 迁移到 ClickHouse 可以释放数据在决策中的力量,这是单独使用 Oracle 无法实现的。 本教程介绍如何使用 BladePipe 将数据从 Orac…...
ASP.NET MVC宠物商城系统
该系统采用B/S架构,使用C#编程语言进行开发,以ASP.NET MVC框架为基础,以Visual Studio 2019为开发工具,数据库采用SQL Server进行保存数据。系统主要功能包括登录注册、宠物展示、个人中心、我的订单、购物车、用户管理、宠物类别…...
完整http服务器
目录 背景目标描述技术特点开发环境WWW客户端浏览发展史服务端http发展史http分层概览 背景 http协议被广泛使用,从移动端,pc浏览器,http无疑是打开互联网应用窗口的重要协议,http在网络应用层中的地位不可撼动,是能…...
【专题】2024AIGC创新应用洞察报告汇总PDF洞察(附原数据表)
原文链接:https://tecdat.cn/?p38310 在科技日新月异的今天,人工智能领域正以前所未有的速度发展,AIGC(人工智能生成内容)成为其中最耀眼的明珠。从其应用场景的不断拓展,到对各行业的深刻变革࿰…...
形态学图像处理(Morphological Image Processing)
形态学图像处理(Morphological Image Processing) 前言 本博客为个人总结数字图像处理一课所写,并给出适当的扩展和相应的demo。 写博客跟做 checkpoint 很像,毕竟个人还不能达到那种信手拈来的境界,忘了就是从零开始训练࿰…...
【IDER、PyCharm】免费AI编程工具完整教程:ChatGPT Free - Support Key call AI GPT-o1 Claude3.5
文章目录 CodeMoss 简介CodeMoss 的模型集成如何安装和配置 CodeMossIDER 插件安装步骤 CodeMoss 的实战使用AI 问答功能代码优化与解释优化这段代码解释这段代码 文件上传与对话联网查询与 GPT 助手联网查询GPT 助手 提升开发效率的最佳实践结语更多文献 CodeMoss 简介 CodeM…...
C++11的一些实用特性
1.统一的列表初始化 在C98中,标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定。 //统一的列表初始化 struct Date {int year;int month;int day; };void test1() {Date d1 { 2024,11,14 };int array1[] { 1, 2, 3, 4, 5 };int array2[5] { …...
23种设计模式-观察者(Observer)设计模式
文章目录 一.什么是观察者模式?二.观察者模式的结构三.观察者模式的应用场景四.观察者模式的优缺点五.观察者模式的实现(C示例)六.观察者模式的实现(JAVA示例)七.代码解释八.总结 类图: 观察者设计模式类图…...
【CUDA】Branch Divergence and Unrolling Loop
目录 一、避免分支发散 1.1 并行规约问题 1.2 并行规约中的发散 二、UNrolling Loops 一、避免分支发散 控制流有时依赖于 thread 索引。同一个warp中,一个条件分支可能导致性能很差。通过重新组织数据获取模式可以减少或避免 warp divergence。具体问题查看下…...
深度学习:卷积神经网络的计算复杂度,顺序操作,最大路径长度
卷积层的计算复杂度 在深度学习中,卷积层的计算复杂度主要取决于卷积核的大小、输入和输出的通道数量、以及输入序列的长度。具体来说,卷积层的计算复杂度可以通过以下几个因素来计算: 卷积核大小 k:卷积核的大小决定了每次卷积操…...
springboot 配置文件中 multipart.max-file-size 各个版本的写法
由于springboot具有几个版本,不同版本对于文件上传最大限制的配置也有所不同。 所以要注意springboot本身的版本,不然会一直报错 在springboot1.3版本中: multipart.maxFileSize在springboot1.4与springboot1.5版本中: spring…...
linux 中mysql查看慢日志
1、到mysql容器,先登录到数据库,查看是否开启 mysql -h 127.0.0.1 -uroot -p SHOW VARIABLES LIKE slow_query_log; 2、如果没有开启,需要先开启 set global slow_query_log ON; 3、查看慢日志文件 SHOW VARIABLES LIKE slow_query_log…...
单片机的基本组成与工作原理
单片机(Microcontroller Unit, MCU)是一种将计算机的主要部分集成在一个芯片上的小型计算机系统。它通常包括中央处理器(CPU)、存储器(Memory)、输入输出接口(I/O Ports)、定时器/计…...
智慧隧道和智慧交通
通过引入先进的物联网技术,将各种硬件设备如传感器、摄像头、控制系统等有效地连接并管理起来,以实现道路安全和交通流畅的目标。这些设备将能够实时监控和控制隧道内的各种设备和系统,从而提高道路安全、提升驾驶体验并降低管理成本。 在这个…...
List、Set、Map详解和区别
在 Java 中,List、Set、Map是常用的集合类型,它们各自具有不同的特点和用途,以下是对它们的详细介绍及区别分析: List(列表) 特点: 有序性:List中的元素是有序的,即元素…...
界面控件DevExpress WinForms v24.2新功能预览 - 支持.NET 9
DevExpress WinForms 拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…...
Postman之pm.test断言操作
Postman之pm.test断言操作 1.断言方法2.连接符3.条件判断符 用于验证请求的响应数据是否符合预期 1.断言方法 pm.test():定义一个测试函数,接受两个参数,一个字符串参数用来描述该测试,一个返回True/False的函数 语法格式&#…...
对数几率回归
对数几率回归简介 对数几率回归(Logistic Regression)是一种用于解决分类问题的经典统计模型,其核心思想是利用逻辑函数(Sigmoid函数)将线性回归模型的输出值映射到概率范围 [0, 1],从而实现分类预测。对数…...
docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
docker配置网络 #宿主机执行命令 ifconfig 查询对应的主机ip 子网掩码 网关地址 #[网卡名称]:inet[主机IP] netmask[子网掩码] broadcast[网关地址]这里需要重点关注:eno1[网卡名称]以及【192.168.31.225】网关地址 在宿主机执行docker命令创建一个虚拟…...
4-7-1.C# 数据容器 - LinkedList(LinkedList 的定义、LinkedList 结点的遍历、LinkedList 的常用方法)
LinkedList 概述 LinkedList<T> 通过节点(Node)来存储数据,每个节点包含数据和指向下一个节点的引用 LinkedList<T> 存储的元素是可重复的 LinkedList<T> 支持泛型,可以指定存储的元素的类型 LinkedList<…...
「三」体验HarmonyOS端云一体化开发模板——使用DevEco Studio直接创建端云一体化工程
关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…...
确保以管理员权限运行 Visual Studio 开发者命令提示符
文章目录 解决方法:1. 以管理员身份运行命令提示符2. 改变目录权限3. 改变项目目录位置4. 检查文件系统权限 总结: ********************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.12.0 …...
命令执行简单(棱角社区有毒)
前言:小迪安全2022第一节反弹shell,小迪用的是两台都是云服务器,没有服务器可以在自己的主机上搭建也是可以的,主机上搭两个网站 思路:生成一个木马文件,下载到本机,然后利用本机上传到目标主机…...
Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
环境: keil版本为5.38,版本务必高于5.30 STM32F4的pack包版本要高于2.9 软件包下载地址:https://zhuanlan.zhihu.com/p/262507061 一、更改Keil中编译器 更改后编译,会报很多错,先不管。 二、更改头文件依赖 观察…...
Kafka-创建topic源码
一、命令创建topic kafka-topics --create --topic quickstart-events --bootstrap-server cdh1:9092 --partitions 2 --replication-factor 2 二、kafka-topics脚本 exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.TopicCommand "$" 脚本中指定了…...
【网络安全】(一) 0成本添加访问级监控
互联网的安全感这个概念源于阿里。顾名思义,让互联网的用户对于web产品能够产生足够的信任和依赖。特别是涉及到用户资金交易的站点,一次严重的用户资料泄露就可以彻底毁掉你的品牌。 然而当前阶段除了bat大部分互联网行业的企业对于网络安全给的重视都…...
【Three.js基础学习】26. Animated galaxy
前言 shaders实现星系 课程回顾 使用顶点着色器为每个粒子设置动画 a属性 , u制服 ,v变化 像素比:window.devicePixelRatio 自动从渲染器检索像素比 renderer.getPixelRatio() 如何尺寸衰减, 放大缩小视角时,粒子都是同…...
vscode使用ssh配置docker容器环境
1 创建容器,并映射主机和容器的指定ssh服务端口 2 进入容器 docker exec -it <容器ID> /bin/bash 3在容器中安装ssh服务 apt-get update apt-get install openssh-server 接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录 vim /…...
NLP论文速读(EMNLP 2024)|动态奖励与提示优化来帮助语言模型的进行自我对齐
论文速读|Dynamic Rewarding with Prompt Optimization Enables Tuning-free Self-Alignment of Language Models 论文信息: 简介: 本文讨论的背景是大型语言模型(LLMs)的自我对齐问题。传统的LLMs对齐方法依赖于昂贵的训练和人类偏好注释&am…...
wordpress怎么登录网站后台/建网站的公司
在集群环境中如何用LotusScript获取当前服务器 环境 产品: Lotus Domino Designer平台: 平台无关版本: 5.x, 6.x 问题 在集群环境中, 当其中一台服务器没有响应时, 因为失效转移的作用, 用户会被转移到集群中的另一台服务器上。如果我们在编写程序时在LotusScript中直接指定了…...
哪个网站做h5最好/广州疫情最新情况
TensorFlow ServingApache MXNet Model ServerNVIDIA TensorRTPyTorch ServingONNX RuntimeFlutterTensorFlow.jsDeep Learning PlatformSeldonNeuromationTensorFlow LitePolyaxonKubeflowFiddlerOpenVINOH2O.aiPredictionIOMLflowB...
上海建设网站便宜的/网上国网推广
本节书摘来自华章出版社《软件测试价值提升之路》一书中的第1章,第1.7节,作者:杨晓慧编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.7 优秀软件公司测试团队职责的启示 总结以上典型软件公司的测试团队职责见表…...
如何制作表白小程序/百度竞价推广关键词优化
SELECT 新字段类型 ,表名 case when a.colorder1 then d.name else end,表说明 case when a.colorder1 then isnull(f.value,) else end,字段序号 a.colorder,字段名 a.name,字段类型 b.name,占用字节数 a.length,标识 case when COLUMNPROPERTY( a.id,a.name,IsIden…...
wordpress如何建立网站/注册网址在哪里注册
首先把域名通过UDP协议(UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法)发送给DNS(,DNS域名解析系统本质就是一个数据服务器,里面就存储了域名和IP的对应关系)转化为IP地址。 有了ip之后就可以建立连接(通过tcp协议,三次握手),发送http请求…...
苏州微网站制作/新型网络搜索引擎
最近约了几个互联网的朋友,他们也都在做公众号,交流了很多工作和面试经验,看了后觉得受益良多。强烈推荐给大家,一起学习,行动起来。社会的发展,行业的竞争,并不会因为我们的主观意愿而停止&…...