备战蓝桥杯(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();}
}

总结

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

💕💕💕

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

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

相关文章

linux常用目录结构(目录命令)--6986字详谈

前面与大家讨论了linux的发展与由来&#xff08;这一块挺多的&#xff0c;小编还没有编写完成&#xff0c;希望大家理解&#xff09;&#xff0c;紧接着谈到了vmware安装及运行所存在的故障&#xff08;鉴定错误&#xff0c;虚拟机没有网&#xff0c;蓝屏等常见现象的总结及处理…

【vim 学习系列文章 20 -- a:mode 的值有哪些?】

请阅读【嵌入式开发学习必备专栏 之 Vim】 文章目录 a:mode 的值有哪些?举例Vim 底部状态栏设置 a:mode 的值有哪些? 在 Vim 脚本语言中&#xff0c;a:mode 常常用于函数内部&#xff0c;以获取该函数被调用时 Vim 正处于的模式。它主常用于那些可以从不同模式下被调用的函数…

what is tty?

waht is tty? 黑话&#xff1a;TTY 为什么使用Linux的时候CtrlC就会终止一个命令运行,ta是如何设置的? stty -a 桌面切换 CTRL ALT F1 – 锁屏 CTRL ALT F2 – 桌面环境 CTRL ALT F3 – TTY3 CTRL ALT F4 – TTY4 CTRL ALT F5 – TTY5 CTRL ALT F6 – TTY6

力扣HOT100 - 239. 滑动窗口最大值

解题思路&#xff1a; class Solution {public int[] maxSlidingWindow(int[] nums, int k) {if(nums.length 0 || k 0) return new int[0];Deque<Integer> deque new LinkedList<>();int[] res new int[nums.length - k 1];// 未形成窗口for(int i 0; i <…

ITK 重采样 resample

Itk 重新采样有二多种情况&#xff0c;这里说二种情况 1. 输入参数 &#xff0c;和输出相关数据&#xff0c;输出范围&#xff0c;spacing &#xff1b; typedef itk::Image< float, 3 > itkFloatImageType;typedef itk::ResampleImageFilter < itkFloatImageType, i…

实验:基于Red Hat Enterprise Linux系统建立RAID磁盘阵列

目录 一. 实验目的 二. 实验内容 三. 实验设计描述及实验结果 什么是磁盘阵列&#xff08;RAID&#xff09; 1. 为虚拟机添加4块大小为20G的硬盘nvme0n【2-5】&#xff0c;将nvme0n【2、3、4】三块硬盘 建立为raid5并永久挂载&#xff0c;将RAID盘全部空间制作逻辑卷&#…

【日期】获取当天以及未来三天的日期和周几

// 获取当天以及未来三天的日期和周几getDates() {const today new Date();const dayOfWeek ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];const todayDate today.toDa…

Markdown语法笔记1——1.箭头上带字母;2.字母上带箭头、尖号、~、上横线、下横线、·、··等符号

文章目录 一 箭头上带字母1. 箭头上面写字母&#xff08;1&#xff09;箭头向右&#xff08;1&#xff09;箭头向左 二 字母上带符号1. 带箭头1.1 右箭头&#xff08;向量&#xff09;1.2 右箭头1.3 左箭头 2. 带尖号2.1 宽的上尖号2.2 窄的上尖号2.3 宽的下尖号2.4 窄的下尖号…

pe格式从入门到图形化显示(九)-重定位表

文章目录 前言一、什么是Windows PE格式中的重定位表表&#xff1f;二、解析重定位表并显示1.重定位表的结构2.解析重定位表3.显示重定位表 前言 通过分析和解析Windows PE格式&#xff0c;并使用qt进行图形化显示 一、什么是Windows PE格式中的重定位表表&#xff1f; 重定位…

nandgame中的Grammar(语法)

题目说明&#xff1a; 语法定义涉及数字、括号和运算符和-的表达式的语法。起始符号为Expression。一个表达式应该对应于以下之一&#xff1a;一个数字标记Expression ExpressionExpression - Expression- Expression( Expression ) level help 通过语法来描述高级语言的…

[RK-Linux] RK3399使用开源TPL与SPL方式加载U-Boot

文章目录 一、U-Boot1.1 下载源码1.2 配置U-Boot1.2.1 配置串口波特率1.2.2 配置U-Boot启动倒计时1.2.3 开启调试信息1.3 编译U-Boot1.4 U-Boot镜像二、idbloader.img2.1 tpl/u-boot-tpl.bin2.2 spl/u-boot-spl.bin三、u-boot.idb3.1 FIT介绍

SMT用料全检抽检

下载地址百度网盘&#xff1a; https://pan.baidu.com/s/1kDn_l8P6ReC4Lj5tgt-v4w?pwd5y41 提取码:5y41 1、扫描输入车间线体 2、根据线体获取在线订单 3、选择(全检|抽检|换接新料)开始 4、根据提示扫描站位和料号核对 5、核对成功再扫描核对下一组

纯Python实现Qt的信号与槽机制

纯Python实现Qt的信号与槽机制 Qt中的信号与槽详解 在Qt框架中&#xff0c;信号与槽是一种非常有特色的机制&#xff0c;用于对象之间的通信。这一机制是Qt中实现事件驱动编程的核心部分。下面我将详细解释信号与槽的概念和它们是如何工作的。 信号&#xff08;Signals&#…

【复现】用友NC-Cloud文件上传漏洞_70

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 用友NC Cloud大型企业数字化平台&#xff0c;深度应用新一代数字智能技术&#xff0c;完全基于云原生架构&#xff0c;打造开放、…

碳交易机制下考虑需求响应的优化运行-MATLAB复现

读完《碳交易机制下考虑需求响应的综合能源系统优化运行——魏震波》这篇文章后&#xff0c;我对咱们能源系统的未来充满了期待。文章里头提到的那些复杂的数学模型和算法&#xff0c;虽然听起来有点高大上&#xff0c;但其实它们就像是给能源系统装上了一个智能大脑&#xff0…

vue3实现导出pdf、png功能

准备做的系统中出现了 想导出当前页面的png或者pdf设计数据较多后端做可能比较麻烦 就自己研究了一下 1、安装html2canvas 、jspdf包 npm install --save html2canvas // 可以将dom元素转为一张图片 npm install --save jspdf // 导出为PDF格式 2、vue组件中引用&#x…

【石上星光】context,go的上下文存储并发控制之道

目录 1 引言2 What&#xff1f;3 How&#xff1f; 3.1 用法一、上下文数据存储3.2 用法二、并发控制 3.2.1 场景1 主动取消3.2.2 场景2 超时取消 3.3 用法三、创建一个空Context&#xff08;emptyCtx&#xff09; 4 Why&#xff1f; 4.1 go中的上下文思想 4.1.1 上下文是什么…

html展示微信小程序二维码

1.生成微信小程序二维码 获取不限制的小程序码 | 微信开放文档 2.经过验证&#xff0c;下面两种方式可行 2.1直接将官方生成的内容直接在src标签里面是可以展示的 接口要支持GET请求 html代码 <body > <!--get请求可以&#xff0c;post请求不行--> <img src…

DataLoader类

DataLoader 类是 PyTorch 中用于构建数据加载器的一个重要工具&#xff0c;它可以对数据集进行批处理、洗牌和并行加载&#xff0c;以便于训练神经网络模型。 ### 输入参数&#xff1a; - **dataset**&#xff1a;数据集对象&#xff0c;通常是 torch.utils.data.Dataset 类的…

python爬虫———激发学习兴趣的案列(第十三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…