当前位置: 首页 > news >正文

蓝桥冲刺31天之315

没有一个冬天不可逾越

也没有一个春天不会来临

所有美好的食物,都会有一个等待的过程

低谷时蛰伏,静默时沉淀

做三四月的事,在八九月自有答案

目录

A:0的个数

题目描述:

输入格式

输出格式

样例输入

样例输出

评测用例规模与约定

延伸之字符串:

题解思路:

参考代码:

B:超级质数

题目描述:

题解思路:

答案:

C:卡牌

题目描述:

输入格式

输出格式

样例输入

样例输出

样例说明

评测用例规模与约定

题解思路:

参考代码:

D:染色时间

题目描述:

输入格式

输出格式

样例输入

样例输出

评测用例规模与约定

题解思路:

参考代码:


A:0的个数

题目描述:

给定一个正整数 n ,请问 n 的十进制表示中末尾总共有几个 0 ?

输入格式

输入一行包含一个正整数 n。

输出格式

输出一个整数,表示答案。

样例输入

20220000

样例输出
 

4

评测用例规模与约定

对于所有评测用例,1 <= n <= 1000000000

延伸之字符串:

public char charAt(int index):根据下标获取字符

public int length():返回字符串的长度

public boolean contains(String str):判断字符串是否包含特定str

public String trim():去除前后空格

public String toUpperCase:转换成大写

public String toLowerCase:转换成小写

public String[] split(String str):根据str做拆分

题解思路:

这题输入数据比较小,可以直接用int型然后每一次取最后一位数即可

但是如果这题变成1<=n<=10^1e5的时候,那么就需要通过字符串进行判断

我们用字符串存储,每一次读取最后一个字符:charAt(i),然后判断它是否等于‘0’即可,等于就计数,不等于就输出结束

参考代码:

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String ss=scan.nextLine();int s=0;for(int i=ss.length()-1;i>=0;i--){//从最后一位往前判断if(ss.charAt(i)=='0') s++;//计数else{System.out.println(s);//输出return;//强制结束}}scan.close();}
}

B:超级质数

题目描述:

如果一个质数 P 的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相 邻的 k 位数字组成的 k 位数都是质数, 则 P 称为超级质数。

如果把超级质数 P 看成一个字符串, 则这个超级质数的每个子串都是质 数。

例如, 53 是一个超级质数。

请问, 最大的超级质数是多少?

题解思路:

10以内的质数只有:2,3,5,7

因为每两位也是质数,所以2和5最多只能出现在第一位数

且 AA形式的数不为质数,也就是说从第二位开始为:373737...或者737373....
第一种方案中,将2   5   7带入得到最大为:73

第二种方案中,将2   3   7带入得到最大为:373

答案:

373

C:卡牌

题目描述:

这天, 小明在整理他的卡牌。

他一共有 n 种卡牌, 第 ii 种卡牌上印有正整数数 i(i∈[1,n]), 且第 i 种卡牌 现有 ai​ 张。

而如果有 n 张卡牌, 其中每种卡牌各一张, 那么这 n 张卡牌可以被称为一 套牌。小明为了凑出尽可能多套牌, 拿出了 m 张空白牌, 他可以在上面写上数 i, 将其当做第 i 种牌来凑出套牌。然而小明觉得手写的牌不太美观, 决定第 ii 种牌最多手写 bi 张。

请问小明最多能凑出多少套牌?

输入格式

输入共 3 行, 第一行为两个正整数 n,m。

第二行为 nn 个正整数 a1,a2,…,an。

第三行为 nn 个正整数 b1,b2,…,bn。

输出格式

一行, 一个整数表示答案。

样例输入

4 5
1 2 3 4
5 5 5 5

样例输出

3

样例说明

这 5 张空白牌中, 拿 2 张写 1 , 拿 1 张写 2 , 这样每种牌的牌数就变为了 3,3,3,4 可以凑出 3 套牌, 剩下 2 张空白牌不能再帮助小明凑出一套。

评测用例规模与约定

对于 30%30% 的数据, 保证 n≤2000;

对于 100%100% 的数据, 保证 n≤2×10^5;ai,bi≤2n;m≤n^2。

题解思路:

这题用到一点贪心思维,简称:贪一下

我们在不考虑有多少张空白纸的情况下(即空白纸无限量),那么最多能凑出:Min(ai+bi)

ai+bi的值最小数量就是可以凑出来最多的数量

现在考虑怎么花费最少的空白纸得到某一个数量成套卡牌
假设我现在需要5套卡牌,是不是每种数量小于5的卡牌数都需要补充到5,而比5大的我们就不需要去浪费卡牌填充

假设当前卡牌位置 ax,需要凑齐ax套卡牌,那么总共会填补多少张?

x*ax-sum(a1+a2+...+ax)

其中 x*ax表示把a1,a2,a3....ax全部补到与ax相同数量时,总共会有x*ax张卡

sum(a1+a2+...+ax)表示在不补充时总共有sum张卡,两者相减表示需要补充的卡量

如果这个值小于给定的m值,则表示可以,继续往后判断,不然的话直接判断(sum+m)/x,表示平均下来每一种可以补充到的值,即为最终值

最后,与一开始不考虑空白纸的情况下的值比较,选取小的值输出即可

参考代码:

import java.util.*;
import java.io.*;
public class Main {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st = new StreamTokenizer(br);static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws Exception{int n=nextInt();long m=nextLong();long []arr=new long[n+1];long []brr=new long[n+1];long []crr=new long[n+1];for(int i=1;i<=n;i++) arr[i]=nextInt();for(int i=1;i<=n;i++) brr[i]=nextInt()+arr[i];Arrays.sort(arr);//按照已有值排序Arrays.sort(brr);//直接找到不考虑空白卡情况最多能凑齐几套long min=brr[1];long max=0;//最多能凑齐max套for(int i=1;i<=n;i++){crr[i]=crr[i-1]+arr[i];//前面数总和,前缀和一下if(arr[i]*i<=crr[i]+m) max=arr[i];//表示可行else {//不可行,求解maxmax=Math.max(max,(crr[i]+m)/i);break;}}pw.println(Math.min(min,max));//输出小的pw.flush();}public static int nextInt() throws Exception {//int型st.nextToken();return (int) st.nval;}public static long nextLong() throws Exception {//long型st.nextToken();return (long) st.nval;}
}

D:染色时间

题目描述:

小蓝有一个 nn 行 mm 列的白色棋盘, 棋盘的每一个方格都可以被染成彩色。

每个方格有一个染色时间 tijtij​, 不同方格的染色时间可能不同。如果一个方 格被触发了染色, 这个方格就会在 tijtij​ 秒之后变成彩色, 然后将自己上下左右四 个方向相邻的方格触发染色。每个方格只能被触发染色一次, 第一次触发之后 的触发为无效触发。

给定每个方格的染色时间, 在时刻 0 触发第一行第一列的方格染色, 请问 多长时间后整个棋盘完成染色。

输入格式

输入的第一行包含两个整数 n,mn,m, 分别表示棋盘的行数和列数。

接下来 n 行, 每行 mm 个正整数, 相邻的整数之间用一个空格分隔, 表示每 个方格的染色时间。该部分的第 ii 行第 jj 个整数表示 tijtij​, 即第 ii 行第 jj 列的方 格的染色时间。

输出格式

输出一行包含一个整数, 表示整个棋盘完成染色的时间。

样例输入


2 31 2 34 5 6

样例输出


12

评测用例规模与约定

对于 30% 的评测用例, 1≤n,m≤10

对于 60% 的评测用例, 1≤n,m≤50

对于所有评测用例, 1≤n,m≤500,1≤tij≤1000

题解思路:

简单说明:我是用的bfs模板直接强行解,最终选择所有数中的最大值,在测试有50%几率通过(卡在1s上下,比赛的测试时间是3s)

通过bfs每一次增加对应时间,然后判断该位置当前的时间和之前的时间相比,是否有所减小,是的话就将该位置加入队列中,以确保当前位置的值为可以走到的最小值

参考代码:

import java.util.*;
import java.io.*;
public class Main {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st = new StreamTokenizer(br);static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));static int n;static int m;static  int [][]arr;//记录每个格子需要的染色时间static int [][]brr;//记录染色到对应格子需要的时间static int [][]d={{-1,0},{1,0},{0,-1},{0,1}};public static void main(String[] args) throws Exception{n=nextInt();m=nextInt();arr=new int[n][m];brr=new int[n][m];for (int i=0;i<n;i++){//每一个位置需要的时间String[] mm = br.readLine().split(" ");for (int j=0;j<m;j++)arr[i][j]=Integer.parseInt(mm[j]);}brr[0][0]=arr[0][0];int max=0;bfs();for (int i=0;i<n;i++){//求得最大值Arrays.sort(brr[i]);max=Math.max(max,brr[i][m-1]);}System.out.println(max);//输出}static void bfs(){Queue<int []> q = new LinkedList<>();q.add(new int[] {0,0});//把起点加入队列int xa,ya,t;int []ss=new int[2];while (!q.isEmpty()){ss=q.poll();int x=ss[0],y=ss[1];//取出t=brr[x][y];//当前位置的花费时间for (int i=0;i<4;i++){//左右移动xa=x+d[i][0];ya=y+d[i][1];if (pd(xa,ya,t)){//判断q.add(new int[]{xa,ya});brr[xa][ya]=brr[x][y]+arr[xa][ya];//下一个位置的时间=上一个位置时间+该位置需要花费时间}}}}static boolean pd(int x,int y,int z){//判断if (x>=0&&x<n&&y>=0&&y<m){return z + arr[x][y] < brr[x][y]||brr[x][y]==0;}return false;}public static int nextInt() throws Exception {//int型st.nextToken();return (int) st.nval;}public static long nextLong() throws Exception {//long型st.nextToken();return (long) st.nval;}
}

相关文章:

蓝桥冲刺31天之315

没有一个冬天不可逾越 也没有一个春天不会来临 所有美好的食物&#xff0c;都会有一个等待的过程 低谷时蛰伏&#xff0c;静默时沉淀 做三四月的事&#xff0c;在八九月自有答案 目录 A&#xff1a;0的个数 题目描述: 输入格式 输出格式 样例输入 样例输出 评测用例规模与…...

常见排序算法

/懂了和写出来是两码事啊啊......orz./ Talk is cheap, show me the code 一、快速排序 直接背模板就能过&#xff1a; 当xq[lr>>1]的边界情况 此时x取的是序列中间靠左的位置(如果序列个数为奇,则取正中间,如果为偶,则取中间靠左),此时如果元素个数为2, 则中间靠左就…...

C语言实现学生成绩管理系统思考

学生成绩管理系统思考 作业要求&#xff1a; 目录 思路 基本函数 学习理解大佬的代码&#xff1a; 完成作业&#xff1a; 思路 学生成绩管理系统&#xff0c;首先要初始化系统&#xff0c; 用C语言做学生实验管理系统要求实现对某班学生3门课程&#xff08;包括语文、数…...

C++11中Lambda新特性

1.定义 lambda匿名函数的语法格式&#xff1a; [外部变量访问方式说明符](参数)mutablenoexcept/throw()->返回值类型 {函数体; };其中各部分的含义分别为&#xff1a; a.[外部变量方位方式说明符] []方括号用于向编译器表明当前是一个lambda表达式&#xff0c;其不能被省略…...

【jvm系列-01】初识虚拟机与java虚拟机

初识虚拟机与java虚拟机一&#xff0c;虚拟机与java虚拟机1&#xff0c;虚拟机2&#xff0c;java虚拟机3&#xff0c;jvm整体结构图4&#xff0c;jvm的架构模型5&#xff0c;jvm的生命周期6&#xff0c;jvm的种类划分6.1&#xff0c;Sun Classic Vm6.2&#xff0c;Exact VM6.3&…...

「Python 基础」数据库应用编程

Python 定义了一套 DB-API&#xff0c;任何数据库要连接到 Python&#xff0c;只需要提供符合 Python 标准的数据库驱动即可&#xff1b; 文章目录1. 连接 SQLite1. 建表、插入数据2. 查询数据2. 连接 MySQL1. 安装驱动2. 演示连接3. SQLAlchemy1. 安装2. DBSession3. add4. qu…...

一个nginx的小项目,不写代码,实现在局域网内访问其他电脑的网页

准备工作 下载nginx //官网 https://nginx.org/en/download.html //直接下载 https://nginx.org/download/nginx-1.23.3.zip解压 下载一个html项目&#xff0c;或者自己随便写一个 我是直接下载的&#xff0c;然后使用的是第一个01 https://gitee.com/StarPort/HTML_CSSTe…...

23.3.14打卡 2022年江西省大学生程序设计竞赛(正式赛)ABL

就写了签到, 其他题没写, 这场好像3题就银了 纪念一下3.14原粥率日 比赛链接:https://ac.nowcoder.com/acm/contest/43898 A题 Special Adjustment Method 题意 给出非负整数x, y, z 你可以让其中两个数字-1, 另外一个2, 使得x2y2z2x^2y^{2}z^{2}x2y2z2最大 题解 这题很容…...

用idea操作hbase数据库,并映射到hive

依赖条件&#xff1a;需要有Hadoop&#xff0c;hive&#xff0c;zookeeper&#xff0c;hbase环境映射&#xff1a;每一个在 Hive 表中的域都存在于 HBase 中&#xff0c;而在 Hive 表中不需要包含所有HBase 中的列。HBase 中的 RowKey 对应到 Hive 中为选择一个域使用 :key 来对…...

手机解锁方法:8个顶级的 Android 手机解锁软件

一般来说&#xff0c;太简单的密码是不安全的&#xff0c;所以我们设置一个安全的密码&#xff0c;可能会稍微复杂一点。然而&#xff0c;我们可能经常会忘记复杂的密码并锁定我们的 Android 智能手机。 8个顶级的 Android 手机解锁软件 如果您遇到过这种情况并且正在寻找一种…...

JVS快速开发平台2.1.7版本,列表页配置新增特性介绍

JVS 在3月份更新了2.1.7版本&#xff0c;本次更新涉及到很多方面&#xff0c;其中包括逻辑引擎、流程引擎、列表引擎、数据处理引擎、图表配置加工等。这里我们先介绍下列表页配置引擎扩展的相关内容&#xff0c;我们先来看看最后配置的列表页配置的效果1、列表页展示方面&…...

【华为机试真题详解 Python实现】去除多余空格【2023 Q1 | 100分】

文章目录 前言题目描述输入描述输出描述示例 1解题思路参考代码前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能…...

【SpringBoot项目实战+思维导图】瑞吉外卖⑤(新增套餐、套餐分页查询、删除套餐、短信发送、手机验证码登录)

文章目录新增套餐需求分析数据模型准备工作前端页面分析代码开发根据分类查询菜品功能实现功能测试保存套餐功能实现功能测试思维导图总结套餐分页查询需求分析前端页面分析代码开发基本信息查询问题分析功能完善功能测试思维导图总结删除套餐需求分析前端页面分析代码开发功能…...

OpenAI 发布GPT-4——全网抢先体验

OpenAI 发布GPT-4 最近 OpenAI 犹如开挂一般&#xff0c;上周才刚刚推出GPT-3.5-Turbo API&#xff0c;今天凌晨再次祭出GPT-4这个目前最先进的多模态预训练大模型。与上一代GPT3.5相比&#xff0c;GPT-4最大的飞跃是增加了识图能力&#xff0c;并且回答准确性也得到显著提高。…...

C++——多态

多态分为两类静态多态&#xff1a;函数重载和运算符重载属于静态多态&#xff0c;复用函数名动态多态&#xff1a;派生类和虚函数实现运行时多态静态多态和动态多态的区别&#xff1a;静态多态的函数地址早绑定——编译阶段确定函数地址动态多态的函数地址晚绑定——运行阶段确…...

javaSE系列之类与对象

javaSE系列之类与方法什么是类类的定义书写事项什么是实例化this引用this的注意事项对象的初始化构造方法封装的概念访问限定符封装扩展之包static成员static的特性static的初始化代码块注意事项内部类1.实例内部类&#x1f497; &#x1f497; 博客:小怡同学&#x1f497; &am…...

远程构建(命令、脚本构建)jenkins

在对应项目&#xff0c;开启远程构建开关添加API token系统设置调整用户权限获取crumbcurl调用构建 1、进入对应项目的设置页面&#xff1a;开启远程构建开关 2、 添加 API token&#xff1a;进入对应用户的设置页面 3、系统设置调整权限&#xff0c;如图 4、由于jenkins的安全…...

2023-03-15 ElasticSearch

ElasticSearch 1.Docker安装ElasticSearch 1.1. es及kibana下载 docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2创建映射文件: mkdir -p /elasticsearch/configmkdir -p /elasticsearch/datamkdir -p /elasticsearch/plugins在config下执行 vim elasticsearch…...

指针和数组笔试题解析【下篇】

文章目录&#x1f441;️6.指针笔试题&#x1f440;6.1.试题&#xff08;1&#xff09;&#x1f440;6.2.试题&#xff08;2&#xff09;&#x1f440;6.3.试题&#xff08;3&#xff09;&#x1f440;6.4.试题&#xff08;4&#xff09;&#x1f440;6.5.试题&#xff08;5&am…...

DHCP原理简析及交互实践

环境&#xff1a; os&#xff1a;centos7 dnsmasq&#xff1a;version 2.76 一. dhcp工作原理 首先补充几个dhcp相关的基本概念&#xff1a; 1、动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种网络管理协议&#xff0c;用于集中对用…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...