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

蓝桥杯真题4

[蓝桥杯 2017 省 AB] 分巧克力

题目描述

儿童节那天有 KKK 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 NNN 块巧克力,其中第 iii 块是 Hi×WiH_i \times W_iHi×Wi 的方格组成的长方形。

为了公平起见,小明需要从这 NNN 块巧克力中切出 KKK 块巧克力分给小朋友们。切出的巧克力需要满足:

  1. 形状是正方形,边长是整数。

  2. 大小相同。

例如一块 6×56 \times 56×5 的巧克力可以切出 6662×22 \times 22×2 的巧克力或者 2223×33 \times 33×3 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小 HiH_iHi 计算出最大的边长是多少么?

输入格式

第一行包含两个整数 NNNKKK(1≤N,K≤105)(1 \le N,K \le 10^5)(1N,K105)

以下 NNN 行每行包含两个整数 HiH_iHiWiW_iWi(1≤Hi,Wi≤105)(1 \le H_i,W_i \le 10^5)(1Hi,Wi105)

输入保证每位小朋友至少能获得一块 1×11 \times 11×1 的巧克力。

输出格式

输出切出的正方形巧克力最大可能的边长。

样例 #1

样例输入 #1

2 10  
6 5  
5 6

样例输出 #1

2

提示

蓝桥杯 2022 省赛 A 组 I 题。

分析

题目意思:要把N 块巧克力切成边长完全一样的正方形小块,至少K块,求切成的巧克力块的最大边长
对于一块巧克力而言,长为H ,宽为W ,若想切成边长为X 的正方形小块,可以切H/x * W/x 块
我们发现,可以切成的块数与最终切成个一个个正方形的边长是成反比的,也就是存在单调性,因此可以用二分来解决这个问题

可以大幅提高效率,毕竟二分搜索的效率要远远高于枚举,而判断这一操作,可以根据是否能够切够k块来判断。

import java.util.*;
public class Main{static int N = 100010;static int[] h = new int[N];static int[] w = new int[N];static int n;static int k;public static void main(String[] args){Scanner scan = new Scanner(System.in);n = scan.nextInt();k = scan.nextInt();for(int i = 0;i<n; i++){h[i]=scan.nextInt();w[i]=scan.nextInt();}int l = 1; r = N;while(l<r){int mid = l + r + 1 >> 1;if(count(mid)) l = mid;else r = mid - 1;}System.out.println(l);} public static boolean count(int m){int res = 0;for(int i = 0;i < n; i++){res += (h[i]/m) * (w[i]/m);}if(res >= k) return true;return false;}
}

[蓝桥杯 2020 省 AB2] 回文日期

题目描述

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 yyyymmdd 的格式写成一个 888 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。

有人表示 20200202 是“千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100100100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年12 月12 日。算不上“千年一遇”,顶多算“千年两遇”。

给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。

输入格式

输入包含一个八位整数 NNN,表示日期。

输出格式

输出两行,每行 111 个八位数。第一行表示下一个回文日期,第二行表示下
一个 ABABBABA 型的回文日期。

样例 #1

样例输入 #1

20200202

样例输出 #1

20211202
21211212

提示

对于所有评测用例,10000101≤N≤9220022910000101 \le N \le 9220022910000101N92200229,保证 NNN 是一个合法日期的 888 位数表示。

蓝桥杯 2020 第二轮省赛 A 组 G 题(B 组 G 题)。

分析

题意十分简单明确,我们直接枚举即可,遍历从输入日期开始的所有回文数,检查是否合法(满足正确日期),在此基础上找到满足 ABABBABA 型的回文日期分别输出即可。

代码实现

import java.util.*;
public class Main{static int[] MONTHS = {0,31,28,31,30,31,30,31,31,30,31,30,31};public static void main(String[] args){Scanner scan = new Scanner(System.in);int n = scan.nextInt();int year = n / 10000;//取得当前年int flag = 0;for(int i = year + 1;i < 30211202 ; i++){int date = year, x = year;for(int j =  0; j < 4; i++){//把日期拼凑完整date = date*10+x % 10;x /= 10;}if(checked1(date) && flag != 1){System.out.println(date);//下一个回文日期flag = 1;}if(checked2(date)){System.out.println(date);//下一个ABABBABA类型的回文日期}}}public static boolean isRun(int y){if(y % 100 !=0 && y % 4 == 0 || y % 400 == 0) {return true;}return false;}public static boolean checked1(int u){//检验日期是否合法int y = u / 10000;int m = (u % 10000) / 100;int d = u % 100;if(m < 0 || m > 12) return false;if(d == 0 || m != 2 && d > MONTHS[m]) return false;if(m == 2){int leap = 0;if( y % 100 != 0 && y % 4 == 0 || y % 400 == 0){leap = 1;}if(d > MONTHS[m] + leap)   return false;}return true;}public static boolean checked2(int u){//检验是否是ABABBABA形式String s = u + "";char[] a = s.toCharArray();if(a[0]!= a[2] && a[1] != a[3] || a[0] == a[3]){return false;}return true;}
}

相关文章:

蓝桥杯真题4

[蓝桥杯 2017 省 AB] 分巧克力 题目描述 儿童节那天有 KKK 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 NNN 块巧克力&#xff0c;其中第 iii 块是 HiWiH_i \times W_iHi​Wi​ 的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 NN…...

day02_基本语法

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记Java2307_沐沐霸的博客-CSDN博客 零、复习昨日 一、程序&Java介绍 二、安装JDK&配置环境变量 三、DOS命令 四、第一个程序[重点] 五、Java语言规范[重点] 六、运行机制 七、Typora工具使用 附录:…...

多线程之单例模式

前言 本篇介绍的是wait与notify方法&#xff0c;通过wait来顺序控制执行一些代码&#xff0c;了解单例模式&#xff0c;进行单例模式的简单实现&#xff0c;介绍饿汉模式下出现线程不安全的问题与解决&#xff1b;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交…...

2023年绿色建筑国际会议(ICoGB 2023) | Springer独立出版

会议简介 Brief Introduction 2023年绿色建筑国际会议(ICoGB 2023) 会议时间&#xff1a;2023年5月21日-23日 召开地点&#xff1a;瑞典斯德哥尔摩 大会官网&#xff1a;www.icogb.org 2023年绿色建筑国际会议(ICoGB 2023)将围绕“绿色建筑”的最新研究领域而展开&#xff0c;为…...

Python中进程和线程到底有什么区别?

人生苦短&#xff0c;我用python python 安装包资料:点击此处跳转文末名片获取 一、进程和线程的关系 线程与进程的区别可以归纳为以下4点&#xff1a; 地址空间和其它资源&#xff08;如打开文件&#xff09;&#xff1a;进程间相互独立&#xff0c;同一进程的各线程间共享。…...

2023美赛春季赛F题思路数据代码论文分享

文章目录赛题思路赛题详情参赛建议&#xff08;个人见解&#xff09;选择队友及任务分配问题&#xff08;重要程度&#xff1a;5星&#xff09;2023美赛春季赛F题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片&#xff0c;加入获取…...

念一句咒语 AI 就帮我写一个应用,我人麻了...

原文链接&#xff1a;https://forum.laf.run/d/232 作为人类&#xff0c;我们时常会有自己独特的想法和脑洞大开的创意。然而&#xff0c;这些想法往往因为成本过高而无法实现&#xff0c;毕竟每个人的能力和精力都是有限的&#xff0c;尤其是对于程序员而言&#xff0c;不可能…...

开放平台设计之接口签名认证

前言 当前时代&#xff0c;数据是王道&#xff01;当我们自己的平台有了足够大的数据量&#xff0c;就有可能诞生一个开放平台宫第三方分析、使用。那么我们怎么去实现对外部调用接口的控制与鉴权呢&#xff1f;这是我们今天的重点——接口签名认证&#xff01;&#xff01;&a…...

Vue自创插件发布到npm以及使用方法

Vue自创插件发布到npm以及使用方法 目标&#xff1a;创建my-popup-selector下拉框组件&#xff0c;并发布到npm&#xff0c;效果如下图&#xff1a; 禁用时样式&#xff1a; ①创建vue项目&#xff1a; my-popup-selector ②项目目录结构截图如下&#xff1a; ③在项目根目录…...

合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等实践技术

合成孔径雷达干涉测量&#xff08;Interferometric Synthetic Aperture Radar, InSAR&#xff09;技术作为一种新兴的主动式微波遥感技术&#xff0c;凭借其可以穿过大气层&#xff0c;全天时、全天候获取监测目标的形变信息等特性&#xff0c;已在地表形变监测、DEM生成、滑坡…...

Java刷题,蓝桥杯省赛第十二届(第一场)4-------------6

4、相乘题目本题总分&#xff1a;10 分【问题描述】小蓝发现&#xff0c;他将 1 至 1000000007 之间的不同的数与 2021 相乘后再求除以1000000007 的余数&#xff0c;会得到不同的数。小蓝想知道&#xff0c;能不能在 1 至 1000000007 之间找到一个数&#xff0c;与 2021 相乘后…...

Docker Cgroups——Docker 资源限制背后的技术原理

Docker Cgroups——Docker 资源限制背后的技术原理虽然在容器内部进程只能看到“掩饰”过的视图&#xff0c;但是在宿主机上&#xff0c;它就是一个普通的进程&#xff0c;与其他所有进程之间是平等竞争的关系。这就意味着虽然表面上被隔离了&#xff0c;但它实际上在与其他进程…...

十四. MySQL 锁相关

目录一. MySQL 锁基础Mysql 锁分类二. InnoDB 下的锁增删改查操作时底层的加锁处理表级锁1. 意向锁2. AUTO-INC锁id不连续对主从同步的影响3. 其它表锁行锁分析1. 记录锁 Record Locks2. 间隙锁 Gap Locks3. 临键锁 Next-Key Locks4. 插入意向锁5. 隐式锁6. 加锁算法InnoDB 行锁…...

ModStartBlog v7.0.0 网站简单统计,支持博客分享

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场&#xff0c;后台一键快速安装 …...

【C语言蓝桥杯每日一题】—— 递增序列

【C语言蓝桥杯每日一题】—— 递增序列&#x1f60e;前言&#x1f64c;递增序列&#x1f64c;总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xff1a;全神贯注的上吧&#xff01;&#xff01;&#xff01; &#x1f60a;作者…...

node_express框架01

01_express 基本结构 注意点&#xff1a;app.get 指定了 get 方法&#xff0c;如果是 app.all 就是指定了所有的请求方法&#xff08;例如&#xff1a;post delete 都是包含的&#xff09;&#xff0c;而 app.get(/) 里面访问的是根路径&#xff0c;如果访问别的路径&#xff…...

想转行做程序员,该怎么选择开发语言?哪个岗位工资最高?

本文主要针对零基础想了解或者转行从事开发岗的同学。 我们收集了往届毕业同学和一些正在咨询的同学&#xff0c;发现大家在学习初期&#xff0c;对转行互联网做开发&#xff0c;最多的疑问或者顾虑大体分为几类&#xff1a; 现在哪门语言比较火&#xff1f; 学什么语言好找到工…...

JavaWeb——【笔记】3.2JavaWeb_Web核心_Request(请求)+Response(响应)

Request(请求)Response(响应)两个对象 request、response是service()方法中的两个参数。作用分别是获取请求数据进行逻辑处理&#xff1b;对数据解析设置响应数据 一、简介 示例: 二、Request(请求) 1、Request继承体系 能更清楚其是由谁创建及查阅什么文档 2、Request获…...

HTML 标签和属性

一些标签 单双标签 双标签。双标签指标签是成对出现的&#xff0c;也就是有一个开始标签和一个结束标签&#xff0c;开始标签用 <标签名> 表示&#xff0c;结束标签用 </标签名> 表示&#xff0c;只有一对标签一起使用才能表示一个具体的含义。例如 <html>&…...

MySQL 连接的使用

MySQL 连接的使用 在前几章节中&#xff0c;我们已经学会了如何在一张表中读取数据&#xff0c;这是相对简单的&#xff0c;但是在真正的应用中经常需要从多个数据表中读取数据。 ​ 本章节我们将向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询数据。 你可以在 SEL…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...