蓝桥冲刺31天之317

在这个时代,我们总是在比较,觉得自己不够好

其实不必羡慕别人的闪光点

每个人都是属于自己的限量版

做你喜欢并且擅长的事,做到极致

自然会找到自己独一无二的价值

鸟不跟鱼比游泳,鱼不跟鸟比飞翔

你我各有所长

A:组队

题目描述

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

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

答案:

97+99+98+98+98(别问,看出来的,不会写代码)

B:不同子串

题目描述

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

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

思路解析:

通过HashSet去存储每一种不同的子串,最终输出HashSet的长度即可(不会的朋友可以去搜一下对应知识点)

参考代码:

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        String s = "0100110001010001";
        Set<String> set = new HashSet<>();
        for (int i = 0; i < s.length(); i++) {
            for (int j = i + 1; j <= s.length(); j++) {
                String str = s.substring(i,j);
                set.add(str);
            }
        }
        System.out.println(set.size());
    }
}

C:等差数列

题目描述

数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 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。

题解思路:

我们将输入的数据排序,提取出每一个数与前一个数的差值,因为等差数列的话任意两数之间的差值相同,我们只需要去判断提取出来的n-1个差值中的最大公因数即可

参考代码:

import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();//个数
        long []arr=new long[n];
        for (int i=0;i<arr.length;i++)arr[i]=sc.nextInt();
        Arrays.sort(arr);//排序
        long []srr=new long[n-1];
        for (int i=0;i<srr.length;i++)//从最小值开始运算,取每个值的差值
            srr[i]=arr[i+1]-arr[0];
        int max=1;
        Arrays.sort(srr);//排序,只需要最小的一个差值的因子判断即可
        for (int i=2;i<=srr[0];i++){//求所有差值的最大公因数
            for (int j=0;j<srr.length;j++){
                if (srr[j]%i!=0)
                    break;
                else if (j==srr.length-1)
                    max=i;
            }
        }
        if((arr[n-1]-arr[0])/max+1<n)//最短长度为n
          System.out.println(n);
        else
          System.out.println((arr[n-1]-arr[0])/max+1);//输出个数
        }
    }

D:波动数列

题目描述

观察这个数列:

1 3 0 2 −1 1 −2 ⋯

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

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

输入描述

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

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

输出描述

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

输入输出样例

4 10 2 3
2

样例说明:这两个数列分别是 2 4 1 3 和 7 4 1 -2。

 题解思路:

S=x+(x+d_{1})+(x+d_{1}+d_{2})+...+(x+d_{1}+d_{2}+...+d_{n-1})

    =nx+(n-1)d_{1}+(n-2)d_{2}+......+d_{n-1}

S-((n-1)d_{1}+(n-2)d_{2}+......+d_{n-1}) =nx

\frac{S-(n-1)d_{1}+(n-2)d_{2}+......+d_{n-1}}{n}=x

因为x为整数,因此需要满足下述条件:

S%n=((n-1)d_{1}+(n-2)d_{2}+......+d_{n-1})%n

因为可以取负数,因此在判断的时候,需要取该值的正整数,公式为:

(a%b+b)%b

接下来就是一个背包问题,从d_{n-1}开始往d_{1}计算,因为不知道是+2还是-3

因此每次得到结果为arr[i][j] = (arr[i - 1][((j-a*i)%n+n)%n] + arr[i - 1][((j+b*i)%n+n)%n])
其中i表示存入的第i个数,j表示前i个数按照上述公式下模为j的方案数
arr[i-1]指上一个数放入后

j-a*i,表示当前arr[i][j]是通过上一个放入数以后,+2获得模为j

j+b*i,表示当前arr[i][j]是通过上一个放入数以后,-3获得模为j

因此arr[i][j]=(arr[i - 1][((j-a*i)%n+n)%n] + arr[i - 1][((j+b*i)%n+n)%n])%100000007

最终我们放入了n个数,实际上方案数就是:arr[n-1][(S%n+n)%n]

参考代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int s = sc.nextInt();
        int a = sc.nextInt();
        int b = sc.nextInt();
        int [][]arr=new int[n+1][n+1];
        arr[0][0] = 1;
        for (int i = 1; i < n; i++) {//放入
            for (int j = 0; j < n; j++) {//遍历模值方案数
                arr[i][j] = (arr[i - 1][((j-a*i)%n+n)%n] + arr[i - 1][((j+b*i)%n+n)%n]) % 100000007;
            }
        }
        System.out.print(arr[n - 1][(s%n+n)%n]);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/1294.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数学基础】你还不理解最大似然估计吗?一篇文章带你快速了解掌握

&#x1f4da;引言 &#x1f64b;‍♂️作者简介&#xff1a;生鱼同学&#xff0c;大数据科学与技术专业硕士在读&#x1f468;‍&#x1f393;&#xff0c;曾获得华为杯数学建模国家二等奖&#x1f3c6;&#xff0c;MathorCup 数学建模竞赛国家二等奖&#x1f3c5;&#xff0c…

JAVA并发编程之锁

1、乐观锁和悲观锁 1.1、悲观锁 认为自己在使用数据的时候一定有别的线程来修改数据&#xff0c;因此在获取数据的时候会加锁&#xff0c;确保数据不会别的线程修改。synchronized关键字和Lock的实现类都是悲观锁。适合写操作多的场景&#xff0c;先加锁可以保证写操作时数据…

leetcode刷题之回文链表

目录 做题思路 代码实现 1.找到链表的中间节点 2.反转中间节点之后的链表 3.判断倒置的后半部分的链表是否等于前半部分的链表 整体代码展示 总结&#xff1a; 这里是题目链接。 这道题目的意思是&#xff1a;判断该链表中后半部分倒置是否跟前半部分相同&#xff0c;如…

java 每日一练 (8)

文章目录1. 单选题2. 编程题1. 单选题 1. 下列选项中关于 java 中 super 关键字的说法正确的是 () A&#xff1a; super 关键字是在子类对象内部指代父类对象的引用. B &#xff1a; super 关键字不仅可以指代子类的直接父类&#xff0c;还可以直接指代父类的父类. C &#…

API-Server的监听器Controller的List分页失效

前言 最近做项目&#xff0c;还是K8S的插件监听器&#xff08;理论上插件都是通过API-server通信&#xff09;&#xff0c;官方的不同写法居然都能出现争议&#xff0c;争议点就是对API-Server的请求的耗时&#xff0c;说是会影响API-Server。实际上通过源码分析两着有差别&am…

<script>标签在html中书写位置-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第1章-课后作业)

【案例1-1】 <script>标签在html中书写位置 一、案例描述 考核知识点 <script>标签可以放在html中什么位置 练习目标 掌握<script>标签放在页面中不同位置的区别。 需求分析 将JavaScript标识放置<Head>... </Head>在头部之间&#xff0c;使之…

LInux指令之文件目录类

文章目录一、帮助指令二、文件目录类ls指令cd指令 &#xff08;切换目录&#xff09;mkdir指令&#xff08;创建目录&#xff09;rmdir指令&#xff08;删除目录&#xff09;touch指令&#xff08;创建空文件&#xff09;cp指令(拷贝文件)rm指令mv指令cat指令(查看)more指令les…

GEE:计算1990-2021年的指数最大值和最小值,并根据最大最小值对每一副影像归一化

本文记录了在GEE平台上计算影像集合中所有像素的最大值和最小值。并且根据该最大最小值对所有影像进行最大最小值归一化。以SAVI为例,记录了主要函数的使用方法和代码。 结果如图所示, 文章目录 一、计算每一副影像的最大值或者最小值,并将最值保存在 List 中二、计算 Lis…

AD域安全攻防实践(附攻防矩阵图)

以域控为基础架构&#xff0c;通过域控实现对用户和计算机资源的统一管理&#xff0c;带来便利的同时也成为了最受攻击者重点攻击的集权系统。 01、攻击篇 针对域控的攻击技术&#xff0c;在Windows通用攻击技术的基础上自成一套技术体系&#xff0c;将AD域攻防分为信息收集、权…

安装Docker

Docker分为CE和EE两大版本。CE即社区版&#xff08;免费&#xff0c;支持周期7个月&#xff09;&#xff0c;EE即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上有各种环境…

Nacos 注册中心 - 健康检查机制源码

目录 1. 健康检查介绍 2. 客户端健康检查 2.1 临时实例的健康检查 2.2 永久实例的健康检查 3. 服务端健康检查 3.1 临时实例的健康检查 3.2 永久实例服务端健康检查 1. 健康检查介绍 当一个服务实例注册到 Nacos 中后&#xff0c;其他服务就可以从 Nacos 中查询出该服务…

LeetCode234_234. 回文链表

LeetCode234_234. 回文链表 一、描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&…

Day920.结构化日志业务审计日志 -SpringBoot与K8s云原生微服务实践

结构化日志&业务审计日志 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于结构化日志&业务审计日志的内容。 1、什么是结构化日志 结构化日志&#xff08;Structured Logging&#xff09;是一种将日志信息组织为结构化数据的技术。 传统的日志通常是一些文…

UE实现建筑分层抽屉展示效果

文章目录 1.实现目标2.实现过程2.1 基础设置2.2 核心函数3.参考资料1.实现目标 使用时间轴对建筑楼层的位置偏移进行控制,实现分层抽屉的动画展示效果。 2.实现过程 建筑抽屉的实现原理比较简单,即对Actor的位置进行偏移,计算并更新其世界位置即可。这里还是基于ArchVizExp…

Mybatis报BindingException:Invalid bound statement (not found)异常

一、前言 本文的mybatis是与springboot整合时出现的异常&#xff0c;若使用的不是基于springboot&#xff0c;解决思路也大体一样的。 二、从整合mybatis的三个步骤排查问题 但在这之前&#xff0c;我们先要知道整合mybatis的三个重要的工作&#xff0c;如此才能排查&#x…

SDG,ADAM,LookAhead,Lion等优化器的对比介绍

本文将介绍了最先进的深度学习优化方法&#xff0c;帮助神经网络训练得更快&#xff0c;表现得更好。有很多个不同形式的优化器&#xff0c;这里我们只找最基础、最常用、最有效和最新的来介绍。 优化器 首先&#xff0c;让我们定义优化。当我们训练我们的模型以使其表现更好…

MySQL中事务的相关问题

事务 一、事务的概述&#xff1a; 1、事务处理&#xff08;事务操作&#xff09;&#xff1a;保证所有事务都作为一个工作单元来执行&#xff0c;即使出现了故障&#xff0c;都不能改变这种执行方式。当在一个事务中执行多个操作时&#xff0c;要么所有的事务都被提交(commit…

[ROC-RK3568-PC] [Firefly-Android] 10min带你了解Camera的使用

&#x1f347; 博主主页&#xff1a; 【Systemcall小酒屋】&#x1f347; 博主追寻&#xff1a;热衷于用简单的案例讲述复杂的技术&#xff0c;“假传万卷书&#xff0c;真传一案例”&#xff0c;这是林群院士说过的一句话&#xff0c;另外“成就是最好的老师”&#xff0c;技术…

再也不想去字节跳动面试了,6年测开面试遭到这样打击.....

前几天我朋友跟我吐苦水&#xff0c;这波面试又把他打击到了&#xff0c;做了快6年软件测试员。。。为了进大厂&#xff0c;也花了很多时间和精力在面试准备上&#xff0c;也刷了很多题。但题刷多了之后有点怀疑人生&#xff0c;不知道刷的这些题在之后的工作中能不能用到&…

【Python/Opencv】图像权重加法函数:cv2.addWeighted()详解

【Python/Opencv】图像权重加法函数&#xff1a;cv2.addWeighted()详解 文章目录【Python/Opencv】图像权重加法函数&#xff1a;cv2.addWeighted()详解1. 介绍2. API3. 代码示例与效果3.1 代码3.2 效果4. 参考1. 介绍 在OpenCV图像加法cv2.add函数详解详细介绍了图像的加法运…
最新文章