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

备战蓝桥杯(java)(日益更新)

备战蓝桥杯(java)(日益更新)


文章目录

  • 备战蓝桥杯(java)(日益更新)
  • 前言:
  • 一、c++ 到 java 须要注意的地方:
  • 二、多练java代码:(用java代码写算法模版)
    • 1. acwing1277 分巧克力:
    • 2. acwing5407 管道:
    • 3. acwing562 壁画
    • 4. acwing1230 K倍区间
    • 5. acwing4262 空调
    • 6. acwing5396 棋盘
  • 总结


前言:

将 c++ 代码 转换为 java 代码


提示:以下是本篇文章正文内容:

一、c++ 到 java 须要注意的地方:

  1. java中,如何实现像c++那样,typedef long long LL;
  2. java中,如何实现像c++那样,const int N = 1e5 + 10;
  3. java中,如何实现像c++那样,int n, m; int h[N], w[N];
  4. java中,如何实现像c++那样,scanf(“%d%d”, &n, &m);
  5. java中,如何实现像c++那样,#define x first #define y second typedef pair<int, int> PII;
  6. java中,如何实现像c++那样int l = max(1, L - t), r = min((LL)m, (LL)L + t);
  7. java中,如何实现像c++那样,sort(q, q+cnt)
  8. java中,如何实现像c++那样, bool check(int mid)
  9. java中,如何实现像c++那样,for(int i = 0; i < n; i ++) scanf(“%d%d”, &h[i], &w[i]);
  10. java中,如何实现像c++那样,for(int i = 0; i < n; i ++) scanf(“%d%d”, &w[i].x, &w[i].y);

二、多练java代码:(用java代码写算法模版)


1. acwing1277 分巧克力:

import java.util.Scanner;public class acwing1227分巧克力 {static final int N = 100010;// 全局常量static int n, m;// 全局变量static int h[] = new int[N];static int w[] = new int[N];// 二分“二段性”判断static boolean check(int mid){long res = 0;for(int i = 0; i < n; i ++){res += h[i] / mid * (w[i] / mid);if(res >= m) return true;}return false;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int m = scan.nextInt();// 输入方式!!!for (int i = 0; i < n; i++){h[i] = scan.nextInt();w[i] = scan.nextInt();}int l = 1, r = 100000;while(l < r){// int mid = (l + r + 1) / 2;int mid = l + (r - l + 1) / 2;if(check(mid)) l = mid;else r = mid - 1;}System.out.println(r);scan.close();}}// 思考:为什么答案不对???


2. acwing5407 管道:

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;public class acwing5407管道 {static class Pair {public final Integer first;public final Integer second;public Pair(Integer first, Integer second) {this.first = first;this.second = second;}}static int N = 100010;static int n, m;static Pair[] w = new Pair[N];// 位于Li阀门会在Si时刻打开static Pair[] q = new Pair[N];// 二分后,区间的左右端点static boolean check(int mid){int cnt = 0;for(int i = 0; i < n; i ++){int L = w[i].first, S = w[i].second;// 位置,打开时刻if(S <= mid){int t = mid - S;int l = (int) Math.max(1, L - t);int r = (int)Math.min((long)m, (long)L + t);q[cnt ++] = new Pair(l, r);// 注意}}// sort(q, q + cnt);// Java中没有直接对数组部分排序的方法,需要先将这部分元素提取出来Pair[] toSort = Arrays.copyOfRange(q, 0, cnt); // 提取前cnt个元素// 对提取出来的数组进行排序Arrays.sort(toSort, Comparator.comparingInt(i -> i.first));// 将排序后的元素放回原数组System.arraycopy(toSort, 0, q, 0, cnt);int st = -1, ed = -1;for(int i = 0; i < cnt; i ++){if(q[i].first <= ed + 1) ed = Math.max(ed, q[i].second);else{st = q[i].first;ed = q[i].second;}}return st == 1 && ed == m;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);n = scan.nextInt();m = scan.nextInt();for (int i = 0; i < n; i++){int first = scan.nextInt();int second = scan.nextInt();w[i] = new Pair(first, second);}int l = 0, r = 2000000000;// 2e9while(l < r){// int mid = (long)l + r >> 1;int mid = (int)((long)l + r >> 1);if(check(mid)) r = mid;else l = mid + 1;}System.out.println(r);scan.close();}}


3. acwing562 壁画

import java.util.Scanner;public class acwing562壁画 {static final int N = 100010;static int n;static int[] s = new int[N];static String str;public static void main(String[] args) {Scanner scan = new Scanner(System.in);int T = scan.nextInt();for(int cases = 1; cases <= T; cases ++){n = scan.nextInt();str = " " + scan.next();for(int i = 1; i <= n; i ++)s[i] = s[i - 1] + str.charAt(i) - '0';int res = 0;int m = (n + 1) / 2;for(int i = m; i <= n; i ++)res = Math.max(res, s[i] - s[i - m]);System.out.println("Case #" + cases + ":" + res);}scan.close();}
}
/*
4
4
1332
Case #1:6
4
9583
Case #2:14
3
616
Case #3:7
10
1029384756
Case #4:31*/

4. acwing1230 K倍区间

import java.util.Scanner;public class acwing1230K倍区间 {//定义全局变量:static final int N = 100010;static int n, k;static long[] s = new long[N];static int[] cnt = new int[N];public static void main(String[] args) {Scanner scan = new Scanner(System.in);n = scan.nextInt();k = scan.nextInt();for(int i = 1; i <= n; i ++){s[i] = scan.nextInt();s[i] += s[i - 1];// 前缀和}long res = 0;cnt[0] ++;for(int i = 1; i <= n; i ++){res += cnt[(int) (s[i] % k)];cnt[(int)s[i] % k] ++;}System.out.println(res);scan.close();}
}
/*
5 2
1
2
3
4
5
6*/

5. acwing4262 空调

import java.util.Scanner;public class acwing4262空调 {// 全局变量:static final int N = 100010;static int n;static  int[] a = new int[N];public static void main(String[] args) {Scanner scan = new Scanner(System.in);n = scan.nextInt();for(int i = 1; i <= n; i ++) a[i] = scan.nextInt();for(int i = 1; i <= n; i ++){int b = scan.nextInt();a[i] -= b;}for(int i = n; i >= 1; i --) a[i] -= a[i - 1];int pos = 0, neg = 0;for(int i = 1; i <= n; i ++){if(a[i] >0) pos += a[i];else neg -= a[i];}System.out.println(Math.max(pos, neg));scan.close();}
}
/*
5
1 5 3 3 4
1 2 2 2 1
5*/

6. acwing5396 棋盘

import java.util.Scanner;public class acwing5396棋盘 {static final int N = 2010;static int n, m;static int[][] b = new int[N][N];public static void main(String[] args) {Scanner scan = new Scanner(System.in);n = scan.nextInt();m = scan.nextInt();while (m-- > 0) {int x1 = scan.nextInt();int y1 = scan.nextInt();int x2 = scan.nextInt();int y2 = scan.nextInt();b[x1][y1] ++;b[x1][y2 + 1]--;b[x2 + 1][y1]--;b[x2 + 1][y2 + 1]++;}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {b[i][j] += b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1];System.out.print(b[i][j] & 1);}System.out.println();}scan.close();}
}

总结

提示:这里对文章进行总结:

💕💕💕

相关文章:

备战蓝桥杯(java)(日益更新)

备战蓝桥杯&#xff08;java&#xff09;&#xff08;日益更新&#xff09; 文章目录 备战蓝桥杯&#xff08;java&#xff09;&#xff08;日益更新&#xff09;前言&#xff1a;一、c 到 java 须要注意的地方&#xff1a;二、多练java代码&#xff1a;&#xff08;用java代码…...

06 Php学习:字符串

PHP 中的字符串变量 在 PHP 中&#xff0c;字符串是一种常见的数据类型&#xff0c;用于存储文本数据。字符串变量可以包含字母、数字、符号等字符&#xff0c;并且可以进行各种操作和处理。以下是关于 PHP 中字符串变量的一些重要信息&#xff1a; 定义字符串变量&#xff1…...

python画图Matplotlib和Seaborn

python画图Matplotlib和Season 一、Matplotlib1、介绍2、安装3、内容二、Seaborn1、介绍2、安装3、内容一、Matplotlib Matplotlib官网 1、介绍 Matplotlib 是一个 Python 的绘图库,用于创建高质量的二维图表和一些基本的三维图表。它广泛应用于科学计算、数据分析、工程学和…...

一体式I/O模块与RS485串口联动,实现工业网络无缝对接

在现代工业自动化领域中&#xff0c;一体化I/O模块和RS485串口的联动应用已经成为实现工业设备高效、稳定通信的关键技术手段之一。这种联动机制能够有效地将各种现场设备的数据实时、准确地传输到上位机系统&#xff0c;从而实现工业网络的无缝对接。 一体化I/O模块&#xff…...

如何在Uniapp真机中使用H.265无插件流媒体播放器EasyPlayer

流媒体播放器EasyPlayer是TSINGSEE青犀流媒体组件系列中关注度较高的产品&#xff0c;经过多年的发展和迭代&#xff0c;目前已经有多个应用版本&#xff0c;包括RTSP版、RTMP版、Pro版&#xff0c;以及js版&#xff0c;其中js版本作为网页播放器&#xff0c;受到了用户的广泛使…...

【MySQL数据库 | 第二十五篇】深入探讨MVCC底层原理

前言&#xff1a; 在当今互联网时代&#xff0c;数据库扮演着数据存储和管理的关键角色。对于大型Web应用程序和企业级系统而言&#xff0c;高效地处理并发访问和事务管理是至关重要的。多版本并发控制&#xff08;MVCC&#xff09;是一种数据库事务处理的技术&#xff0c;旨…...

【LAMMPS学习】八、基础知识(1.6) LAMMPS 与其他代码耦合

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…...

ArrayList中多线程的不安全问题

ArrayList中的不安全问题 正常的输出 List<String> list Arrays.asList("1","2","3"); list.forEach(System.out::println);为什么可以这样输出&#xff0c;是一种函数是接口&#xff0c;我们先过个耳熟 Arrys.asList是返回一个ArrayL…...

ALTER TABLE 之 定点变更(in-place alter)

定点变更算法可以提供优于慢速变更算法的诸多性能优势&#xff1a; 定点变更算法&#xff1a; 1&#xff0c;增加了表的可用性 ALTER TABLE操作使用定点变更算法时&#xff0c;其他用户稍后可以访问该表&#xff0c;因为数据库服务器只在更新表定义和重建包含更改列的索引时才锁…...

【RAG实践】Rerank,让大模型 RAG 更近一步

RAGRerank原理 上一篇【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人 我们介绍了什么是RAG&#xff0c;以及如何基于LLaMaIndex和Qwen1.5搭建基于本地知识库的问答机器人&#xff0c;原理图和步骤如下&#xff1a; 这里面主要包括包括三个基本步骤&#…...

私有化客服系统:在线客服搭建与部署的创新之路

随着互联网技术的飞速发展&#xff0c;企业与客户之间的沟通方式也在不断地演变。在这个信息爆炸的时代&#xff0c;一个高效、便捷、智能的在线客服系统成为了企业提升服务质量、增强客户满意度的重要工具。本文将详细介绍在线客服系统的构建、部署以及私有化客服的优势&#…...

VM-UNet: Vision Mamba UNet for Medical Image Segmentation

VM-UNet: Vision Mamba UNet for Medical Image Segmentation VM-UNet&#xff1a;基于视觉Mamba UNet架构的医学图像分割 论文链接&#xff1a;http://arxiv.org/abs/2402.02491 代码链接&#xff1a;https://github.com/JCruan519/VM-UNet 1、摘要 文中利用状态空间模型SS…...

面向对象编程:在Python中的面向对象编程奥秘

面向对象编程在Python中的奥秘 在编程的世界里&#xff0c;面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是一种非常重要的编程范式。它改变了我们思考问题和设计代码的方式。Python作为一种支持面向对象的语言&#xff0c;为我们提供…...

考研数学|零基础100分保底复习方案+资料分享

目标100分其实很好实现&#xff0c;只要你有决心&#xff0c;不需要去看任何人的学习技巧 其实基础差&#xff0c;你只要专攻基础就好了&#xff0c;现在的很多考研课程和资料真的很不照顾基础不好的同学&#xff0c;好像就默认你什么都会一样&#xff0c;但是还是有对于基础差…...

【MATLAB源码-第29期】基于matlab的MIMO,MISO,SIMO,SISO瑞利rayleigh信道容量对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. SISO&#xff08;单输入单输出&#xff09;&#xff1a; - SISO 是指在通信系统中&#xff0c;只有一个天线用于传输信号&#xff0c;也只有一个天线用于接收信号的情况。这是最简单的通信方式。 2. SIMO&#xff08;单…...

JRT高效率开发

得益于前期的基础投入&#xff0c;借助代码生成的加持&#xff0c;本来计划用一周实现质控物维护界面&#xff0c;实际用来四小时左右完成质控物维护主体&#xff0c;效率大大超过预期。 JRT从设计之初就是为了证明Spring打包模式不适合软件服务模式&#xff0c;觉得Spring打包…...

Spring Boot 切面的一种的测试方法,java中级开发面试

void afterReturnName() { Assertions.assertEquals(studentController.getNameById(123L).getName(), "测试姓名Yz");} } 但往往切面中的逻辑并非这么简单&#xff0c;在实际的测试中其实我们也完成没有必要关心在切面中到底发生了什么&#xff08;发生了什么应该在…...

嵌入式自学路线-高薪路线(持续更新,欢迎关注)

1 入门&#xff1a;51STM32 主要学习内容中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等的工作原理。学习资源推荐视频&#xff1a;野火&#xff0c;正点原子书籍&#xff1a;野火&#xff0c;正点原子学习建议如果你以后的方向是驱动开发&#xff0c;这部分学…...

SpringMVC的运行流程

SpringMVC的运行流程可以概括为以下几个主要步骤&#xff1a; 用户发送请求&#xff1a; 用户通过浏览器或其他客户端发送HTTP请求到服务器。 前端控制器&#xff08;DispatcherServlet&#xff09;接收请求&#xff1a; SpringMVC的前端控制器&#xff08;通常是DispatcherSe…...

成绩分析 蓝桥杯 java

成绩分析 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 请计算这次考试的最高分、最低分和平均分。 输入格式 输入的第一行包含一个整数 n&#xff0c;表示考试人数。 接下来 n 行&#xff0c;每行包含一…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...