第十四届蓝桥杯三月真题刷题训练——第 14 天

news/2025/1/11 8:04:53/

目录

第 1 题:组队

题目描述

运行限制

代码:

第 2 题:不同子串

题目描述

运行限制

代码:

思路:

第 3 题:等差数列

题目描述

输入描述

输出描述

输入输出样例

运行限制

代码:

思路:

第 4 题:波动数列_dp

题目描述

输入描述

输出描述

输入输出样例

运行限制

代码:

思路:


第 1 题:组队

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

作为篮球队教练,你需要从以下名单中选出 11 号位至 55 号位各一名球员,组成球队的首发阵容。

每位球员担任 11 号位至 55 号位时的评分如下表所示。请你计算首发阵容 11 号位至 55 号位的评分之和最大可能是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码:

看图说话,没啥好说的

package 第十四届蓝桥杯三月真题刷题训练.day14;/*** @author yx* @date 2023-03-17 8:27*/
public class 组队 {public static void main(String[] args) {System.out.println(97+99+99+97+98);}
}

第 2 题:不同子串

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串 aaab 有非空子串 aa, b, aa, ab, aaa, aab, aaab,一共 7 个。注意在计算时,只算本质不同的串的个数。

请问,字符串 0100110001010001 有多少个不同的非空子串?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day14;import java.io.*;
import java.util.HashMap;
import java.util.HashSet;/*** @author yx* @date 2023-03-17 8:32*/
public class 不同子串 {static PrintWriter out =new PrintWriter(System.out);static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in=new StreamTokenizer(ins);/*** 输入* in.nextToken()* int a= (int)in.nval;** 输出* out.print();* out.flush();*/public static void main(String[] args) throws IOException {HashSet<String> set=new HashSet<>();String strings=ins.readLine();int length=strings.length();for (int i = 0; i < length; i++) {for (int j = i+1; j <= length; j++) {set.add(strings.substring(i,j));}}out.println(set.size());out.flush();}
}

思路:

(1)学会String.substring()方法切割字符串,不会的去菜鸟上看一下substring的工作原理

(2)HashSet存储每一次切割下来的字符串,输出其size,即个数

第 3 题:等差数列

题目描述

数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。

现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?

输入描述

输入的第一行包含一个整数 NN。

第二行包含 NN 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1​ ∼ AN​ 并不一定是按等差数列中的顺序给出)

其中,2≤N≤10^5,0≤Ai≤10^9。

输出描述

输出一个整数表示答案。

输入输出样例

示例

输入

5
2 6 4 10 20

输出

10

样例说明: 包含 2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14、16、 18、20。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day14;import java.io.*;
import java.util.Arrays;
import java.util.Scanner;/*** @author yx* @date 2023-03-17 9:16*/
public class 等差数列改良版 {static PrintWriter out =new PrintWriter(System.out);static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in=new StreamTokenizer(ins);/*** 输入* in.nextToken()* int a= (int)in.nval;** 输出* out.print();* out.flush();*/public static void main(String[] args) throws IOException {
//        Scanner scanner = new Scanner(System.in);in.nextToken();
//        int n=scanner.nextInt();int n=(int)in.nval;int[] nums=new int[n];for (int i = 0; i < n; i++) {
//            nums[i]=scanner.nextInt();in.nextToken();nums[i]=(int) in.nval;}Arrays.sort(nums);int temp=Integer.MAX_VALUE;for (int i = 1; i < n; i++) {int chaZhi=nums[i]-nums[i-1];if(chaZhi<temp){temp=chaZhi;}}if(temp==0){//注意公差为0的情况,即:1 1 1 1System.out.println(n);}else {System.out.println((nums[n-1]-nums[0])/temp+1);}}
}

思路:

(1)这题普通的Scanner也能过,对快读没什么要求

(2)求数和数之间的最小间隔,注意间隔为0的情况,即:1 1 1 1 1 间隔为0直接输出n就可以了

第 4 题:波动数列_dp

题目描述

观察这个数列:

1 3 0 2 −1 1 −2 ⋯

这个数列中后一项总是比前一项增加 2 或者减少 3。

栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 b 的整数数列可能有多少种呢?

输入描述

输入的第一行包含四个整数 n,s,a,b,含义如前面说述。

其中,1≤n≤1000,−10^9≤s≤10^9,1≤a,b≤10^6。

输出描述

输出一行,包含一个整数,表示满足条件的方案数。由于这个数很大,请输出方案数除以 10^8+7的余数。

输入输出样例

示例

输入

4 10 2 3

输出

2

样例说明

这两个数列分别是 2 4 1 3 和 7 4 1 -2。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码:

思路:

(1)深搜比较好想,枚举初始值x在范围内所有的值,然后爆搜,但是会超时

(2)dp状态转移方程需要时间理解,现在只看懂一半,晚上再继续看看


http://www.ppmy.cn/news/32610.html

相关文章

实用调试技巧【详细介绍】

实用调试技巧1. 什么是bug&#xff1f;2. 调试是什么&#xff1f;有多重要&#xff1f;2.1 调试是什么&#xff1f;2.2 调试的基本步骤2.3 Debug和Release的介绍3. Windows环境调试介绍3.1 调试环境的准备3.2 学会快捷键3.3 调试的时候查看程序当前信息3.3.1 查看临时变量的值3…

高效学习方法论

2023.03.17 《程序员的三门课&#xff1a;技术精进、架构修炼、管理探秘 / 于君泽等著》学习笔记 学会学习一、高效学习的方法1、管理好自己的目标1&#xff09;评估能力2&#xff09;制定目标3&#xff09;评估目标2、利用好碎片时间3、在同一时间只做一件事二、高效学习的途径…

VueX快速入门(适合后端,无脑入门!!!)

文章目录前言State和Mutations基础简化gettersMutationsActions&#xff08;异步&#xff09;Module总结前言 作为一个没啥前端基础&#xff08;就是那种跳过js直接学vue的那种。。。&#xff09;的后端选手。按照自己的思路总结了一下对VueX的理解。大佬勿喷qAq。 首先我们需要…

44岁了,我从没想过在CSDN创作2年,会有这么大收获

1998年上的大学&#xff0c;02年毕业&#xff0c;就算从工作算起&#xff0c;我也有20余年的码龄生涯了。 但正式开启博文的写作&#xff0c;却是2021年开始的&#xff0c;差不多也就写了2年的博客&#xff0c;今天我来说说我在CSDN的感受和收获。 我是真的没想到&#xff0c;…

C语言格式和注意点

文章目录前言一、打印Hello World二、C语言格式注意点1.代码大小写2.输入法3.空格和分号三、C语言代码执行过程1.预处理2.编译3.汇编4.链接5.加载和执行总结前言 本篇文章将正式进入C语言的学习&#xff0c;我们先来打印一句Hello World吧(哈哈哈入门语言第一件事情打印Hello …

[JS与链表]普通链表

为什么要用链表要储存一系列数据&#xff0c;最常用的数据结构是数组。数组有个缺点就是在中间插入或删除元素需要移动元素&#xff0c;成本很高。什么是链表链表也是有序元素的集合结构。链表中的元素在内存中并不是连续放置的。每个元素都可以理解为一个对象。包含了本身元素…

【vue.js】在网页中实现一个金属抛光质感的按钮

文章目录前言效果电脑效果手机效果说明完整代码index.html前言 诶&#xff1f;这有一个按钮(&#xff5e;&#xffe3;▽&#xffe3;)&#xff5e;&#xff0c;这是一个在html中实现的具有金属质感并且能镜面反射的按钮~ 效果 电脑效果 手机效果 说明 主要思路是使用 navig…

【链表OJ题(六)】链表分割

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录链表OJ题(六)1. 链表…