蓝桥杯算法赛 第 6 场 小白入门赛 解题报告 | 珂学家 | 简单场 + 元宵节日快乐

news2025/1/16 21:15:54

前言

在这里插入图片描述


整体评价

因为适逢元宵节,所以这场以娱乐为主。


A. 元宵节快乐

题型: 签到

节日快乐,出题人也说出来自己的心愿, 祝大家AK快乐!

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("Today AK!");
    }
}

B. 猜灯谜

思路: 模拟

按题意模拟即可,环状结构

import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        List<Integer> res = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            res.add(arr[(i - 1 + n) % n] + arr[(i + 1) % n]);
        }
        System.out.println(res.stream().map(String::valueOf).collect(Collectors.joining(" ")));
    }
    
}

C. 数学奇才

思路: 思维题

可以贪心逆序从右到左翻转,每次翻转保证最右的非负数多一项,题意保证最多有n次。

所以,必然存在操作序列,使得数组元素全变非负形态。

∑ i = 0 i = n − 1 a b s ( a i ) \sum_{i=0}^{i=n-1} abs(a_i) i=0i=n1abs(ai)

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));
        int n = sc.nextInt();
        long[] arr = new long[n];

        long sum = 0;
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextLong();
            sum += Math.abs(arr[i]);
        }
        System.out.println(sum);
    }

}

D. 你不干?有的是帕鲁干

思路: 解方程

假设第一个元素为y, 那么

( y + 2 ) 2 − y 2 = 4 ( y + 1 ) = x (y + 2) ^ 2 - y ^ 2 = 4(y + 1) = x (y+2)2y2=4(y+1)=x

那么该y为

y = x / 4 − 1 y=x/4 - 1 y=x/41

这边需要保证x是4的倍数,同时y必须为>=1的奇数

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));

        int t = sc.nextInt();
        while (t-- > 0) {
            long x = sc.nextLong();
            if (x % 4 != 0) {
                System.out.println("No");
            } else {
                long y = x / 4 - 1;
                if (y <= 0 || y % 2 == 0) {
                    System.out.println("No");
                } else {
                    System.out.println("Yes");
                    System.out.println((y) + " " + (y + 2));
                }
            }
        }
    }

}

E. 等腰三角形

思路: 贪心+双指针

感觉这题是这场周赛最难的,但是和历史比,算中等偏下的题

因为三角形中,边的关系需要满足,

任意两边之和必须大于第三边 任意两边之和必须大于第三边 任意两边之和必须大于第三边

这题也是最大二分匹配模型

不过这题有个取巧的地方,就是

从底边出发

如果 b i < b j b_i < b_j bi<bj, 则选用 b i b_i bi b j b_j bj 的结果不会变差

因此可以对腰边和底边进行排序

然后使用双指针,进行贪心配对

import java.io.BufferedInputStream;
import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));
        int n = sc.nextInt();
        int[] arr = new int[n];
        int[] brr = new int[n];

        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        for (int i = 0; i < n; i++) {
            brr[i] = sc.nextInt();
        }
        Arrays.sort(arr);
        Arrays.sort(brr);
        // 双指针
        int res = 0;
        int j = 0;
        for (int i = 0; i < n; i++) {
            while (j < n && arr[j] * 2 <= brr[i]) {
                j++;
            }
            if (j < n) {
                j++;
                res++;
            }
        }
        System.out.println(res);
    }

}

F. 计算方程

思路: 二分

因为其函数是单调的,呈现单调性

因此用二分是最优解

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main {

    static boolean check(int x, int k, int m) {
        double r1 = Math.sqrt(1.0 * x);
        double r2 = (int)(Math.log(x) / Math.log(k));
        return r1 + r2 > m;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(new BufferedInputStream(System.in));
        int t = sc.nextInt();
        while (t-- > 0) {
            int k = sc.nextInt(), m = sc.nextInt();
            int l = 1, r = m * m;
            while (l <= r) {
                int mid = l + (r - l) / 2;
                if (check(mid, k, m)) {
                    r = mid - 1;
                } else {
                    l = mid + 1;
                }
            }
            System.out.println(l);
        }
    }

}

写在最后

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT day3 作业2.22

思维导图&#xff1a; 作业&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到…

微信小程序自制动态导航栏

写在前面 关于微信小程序导航栏的问题以及解决办法我已经在先前的文章中有提到&#xff0c;点击下面的链接即可跳转~ &#x1f90f;微信小程序自定义的导航栏&#x1f90f; 在这篇文章中我们需要做一个这样的导航栏&#xff01;先上效果图 &#x1f447;&#x1f447;&#x1f…

如何将实景三维倾斜模型叠加到三维地球上?

​ 通过以下方法可以将实景三维倾斜模型叠加到三维地球上。 方法/步骤 下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“倾斜模型”…

物麒平台根据入耳出耳状态使能或禁止触摸按键实现方法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资 料, 1 消息发送 2 消息处理 3 宏开关 4 代码 #include "app_main.h" #include &q…

Vue.js+SpringBoot开发生活废品回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案&#xff0c;旨在鼓…

FreeRTOS学习第8篇--同步和互斥操作引子

目录 FreeRTOS学习第8篇--同步和互斥操作引子同步和互斥概念实现同步和互斥的机制PrintTask_Task任务相关代码片段CalcTask_Task任务相关代码片段实验现象本文中使用的测试工程 FreeRTOS学习第8篇–同步和互斥操作引子 本文目标&#xff1a;学习与使用FreeRTOS中的同步和互斥操…

【vue3语法】开发使用创建项目等

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、vue3创建vue3v2函数式、v3组合式api响应式方法ref、reactive计算属性conputed监听属性wacthvue3 选项式生命周期父子通信父传子defineProps编译宏 子传父de…

linux 0.11 调试c代码

我们可以通过实验楼实验环境 来调试linux0.11的c代码。 cd ~/oslab/ tar -zxvf hit-oslab-linux-20110823.tar.gz -C ~ cd ~/oslab/linux-0.11/ make cd ~/oslab/ nohup ./dbg-c & nohup terminator & ls在新的窗口执行 ./rungdb,进入调试状态。 输入 set disassemb…

三 . 运算符和流程控制——Java基础篇

三 . 运算符和流程控制 1. 运算符 1 . 赋值运算符 1.2.1 基本语法 符号&#xff1a; 当“”两侧数据类型不一致时&#xff0c;可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。 扩展赋值运算符&#xff1a; 、 -、*、 /、% 赋值运算符符号解释将符号左…

三、矩阵基本知识

目录 1. 理解 2、矩阵的直观感受 3、矩阵与向量 1. 理解 ①矩阵是一个向量组&#xff0c;由许多 行向量 和 纵向量 组成。 ②矩阵方程求解 用增广矩阵初等变换化为 E 。齐次/非齐次方程组 的解用 初等变化 化为 行最简阶梯型。 ③初步认为由多元一次方程组的系数组成&…

谈谈Redis的哈希槽和一致性哈希

一 . 前言 在 Redis 集群里面主要涉及到两种 Hash 算法 : 一种是一致性哈希 , 这种算法在 适用dis Cluster方案中并没有实现,主要在外部的代理模式 (Twemproxy)一种是 Slot 哈希槽算法 ,这种算法就是 Cluster 的核心算法所以谈到这个问题的时候,不能只讲一部分。在 Red…

SpringMVC 学习(六)之视图

目录 1 SpringMVC 视图介绍 2 JSP 视图 3 Thymeleaf 视图 4 FreeMarker 视图 5 XSLT 视图 6 请求转发与重定向 6.1 请求转发 (Forward) 6.2 重定向 (Redirect) 7 视图控制器 (view-controller) 1 SpringMVC 视图介绍 在 SpringMVC 框架中&#xff0c;视图可以是一个 J…

电机控制常见的外围器件

小型断路器&#xff1a; 这些通通都叫小型断路器&#xff0c;二十年的老电工不一定都认识&#xff0c;不信看看_哔哩哔哩_bilibili 1PIN 2PIN 3PIN 4PIN: 正常情况下火线和零线的电流是相等的&#xff0c;但是漏电的情况下&#xff0c;两线的电流差值大于30毫安&#xff0c;漏…

成功解决ModuleNotFoundError: No module named ‘tensorboard‘

成功解决ModuleNotFoundError: No module named ‘tensorboard’ &#x1f4c5;2024年02月25日 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础…

深度学习数据集——球类、运动、体育相关数据集

体育运动的动作识别分类等工作&#xff0c;一直是深度学习实践的重要领域&#xff0c;这里涉及到动作捕捉、分类、识别、计数等多种类型&#xff01;今天就给大家分享关于以上内容的深度学习数据集&#xff01;&#xff01; 1、收集22种类型的运动的图像数据集 数据说明&…

使用apt-mirror做一个本地ubuntu离线apt源

1. 安装 apt-mirror sudo apt-get install apt-mirror2. 创建文件夹 mkdir ./apt_mirror_dir3. 修改apt-mirror的配置文件 sudo gedit /etc/apt/mirror.list得到以下文件,重点对两个位置进行修改&#xff1a; ############# config ################## # ## 修改1&#xff…

鸿蒙中的九种布局概述

鸿蒙中的九种布局概述 概述 鸿蒙开发中包含就种布局&#xff0c;分别为线性布局、层叠布局、弹性布局、相对布局、栅格布局、媒体布局、列表、网格、轮播。 线性布局 线性布局通过Row和Column进行构建&#xff0c;是其他布局的基础。其中Row是水平方向排列&#xff0c;Colu…

在Linux服务器上部署一个单机项目

目录 一、jdk安装 二、tomcat安装 三、MySQL安装 四、部署项目 一、jdk安装 1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录&#xff0c;将安装包拖进去 2. 解压安装包 这里需要解压到usr/local目录下&#xff0c;在这里我新建一个文件夹保存解压后的文件 [r…

babylonjs入门模

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff1a;464146715 官方文档 中文文档 最小模版 ​ 代码如下&#xff1a; 在react中使用 import React, { FC, useCallback, useEffect, useRef, useState } f…

抖音视频提取软件怎么用|抖音数据抓取工具

针对用户获取抖音视频的需求&#xff0c;我们开发了一款功能强大的抖音视频提取软件&#xff0c;旨在帮助用户轻松获取他们感兴趣的视频内容。无需逐个复制链接&#xff0c;无需繁琐的下载步骤&#xff0c;我们的软件让抖音视频获取变得简单快捷。 使用我们的软件非常简单&…