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

第十四届蓝桥杯模拟赛(第三期)Java组个人题解

第十四届蓝桥杯模拟赛(第三期)Java组个人题解

今天做了一下第三期的校内模拟赛,有些地方不确定,欢迎讨论和指正~


文章目录

  • 第十四届蓝桥杯模拟赛(第三期)Java组个人题解
  • 填空题部分
    • 第一题【最小数】
    • 第二题【Excel的列】
    • 第三题【日期数】
    • 第四题【取数】
    • 第五题【最大连通块】
  • 编程题部分
    • 第六题【一周第几天】
    • 第七题【被覆盖的点】
    • 第八题【未被清理的区域】
    • 第九题【滑行距离】
    • 第十题【可重复贡献度问题】
  • 结语


填空题部分

第一题【最小数】

请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。请将这个数的十进制形式作为答案提交。
答案: 2730

思路: 使用Integer.toString()方法快速转换为16进制,然后暴力每个字符,找到第一个就结束。

题解:

public class Main{public static void main(String[] args) {//2730int num = 2023;while (true){String string = Integer.toString(num, 16);char[] chars = string.toCharArray();boolean flag = false;for (char aChar : chars) {if (aChar < 'a' || aChar > 'f') {flag = true;//标记不合法break;}}if (!flag){//如果合法System.out.println(num);break;}num++;}}
}

第二题【Excel的列】

在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母,依次为 A 到 Z,接下来 26*26 列使用两个字母的组合,依次为 AA 到 ZZ。请问第 2022 列的名称是什么?
答案: BYT

思路: 先排除掉长度为1和2的字母,从AAA开始遍历,个数达到2022即可输出结果。

题解:

public class Main{public static void main(String[] args) {int count = 26 + 26 * 26;for (int i = 'A'; i <= 'Z'; i++) {for (int j = 'A'; j <= 'Z'; j++) {for (int k = 'A'; k <= 'Z'; k++) {count++;if (count == 2022) {System.out.println((char) i + "" + (char) j + "" + (char) k);}}}}}
}

第三题【日期数】

对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 1900 年 1 月 1 日至 9999 年 12 月 31 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。
  例如,2022年11月13日满足要求,因为 2+0+2+2=(1+1)+(1+3) 。
  请提交满足条件的日期的总数量。

答案: 70910

思路: 本来想用日历类的,但是不太熟悉,所以直接枚举吧。注意一下闰年和大月即可。

题解:

public class Main{static int count;public static void main(String[] args) {//70910for (int year = 1900; year <= 9999; year++) {for (int month = 1; month <= 12; month++) {if (month == 2 && judgeYear(year)) {for (int day = 1; day <= 29; day++) {if (judge(year, month, day)) {count++;}}} else if (month == 2 && !judgeYear(year)) {for (int day = 1; day <= 28; day++) {if (judge(year, month, day)) {count++;}}} else if (judgeBigMonth(month)) {for (int day = 1; day <= 31; day++) {if (judge(year, month, day)) {count++;}}} else if (!judgeBigMonth(month)) {for (int day = 1; day <= 30; day++) {if (judge(year, month, day)) {count++;}}}}}System.out.println(count);}public static boolean judgeYear(int year) {return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;}public static boolean judgeBigMonth(int month) {return month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12;}public static boolean judge(int year, int month, int day) {int sumYear = 0;int sumMonth = 0;int sumDay = 0;while (year != 0) {sumYear += year % 10;year /= 10;}while (month != 0) {sumMonth += month % 10;month /= 10;}while (day != 0) {sumDay += day % 10;day /= 10;}return sumYear == sumMonth + sumDay;}
}

第四题【取数】

小蓝有 30 个数,分别为:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 。
  小蓝可以在这些数中取出两个序号不同的数,共有 30*29/2=435 种取法。
  请问这 435 种取法中,有多少种取法取出的两个数的乘积大于等于 2022 。

答案: 189

思路: 由于序号不同,导致拿出的方法也不同,和题意一样,同样需要考虑重复拿取的问题。

题解:

public class Main{static int count;public static void main(String[] args) {int[] arr = {99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77};for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length; j++) {if (i != j) {if (arr[i] * arr[j] >= 2022) {count++;}}}}System.out.println(count / 2);}
}

第五题【最大连通块】

如果从一个标为 1 的位置可以通过上下左右走到另一个标为 1 的位置,则称两个位置连通。与某一个标为 1 的位置连通的所有位置(包括自己)组成一个连通分块。
  请问矩阵中最大的连通分块有多大?

答案: 148

思路: dfs和bfs都可以,这里使用的bfs,注意一点:“包括自己”,所以计算连通的个数的时候从1开始。

题解:

import java.util.ArrayDeque;
import java.util.Deque;public class Main{static String[] matrix = new String[30];static char[][] map = new char[30][60];static int[][] dis = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};static int max = 1;public static void main(String[] args) {matrix = new String[]{"110010000011111110101001001001101010111011011011101001111110","010000000001010001101100000010010110001111100010101100011110","001011101000100011111111111010000010010101010111001000010100","101100001101011101101011011001000110111111010000000110110000","010101100100010000111000100111100110001110111101010011001011","010011011010011110111101111001001001010111110001101000100011","101001011000110100001101011000000110110110100100110111101011","101111000000101000111001100010110000100110001001000101011001","001110111010001011110000001111100001010101001110011010101110","001010101000110001011111001010111111100110000011011111101010","011111100011001110100101001011110011000101011000100111001011","011010001101011110011011111010111110010100101000110111010110","001110000111100100101110001011101010001100010111110111011011","111100001000001100010110101100111001001111100100110000001101","001110010000000111011110000011000010101000111000000110101101","100100011101011111001101001010011111110010111101000010000111","110010100110101100001101111101010011000110101100000110001010","110101101100001110000100010001001010100010110100100001000011","100100000100001101010101001101000101101000000101111110001010","101101011010101000111110110000110100000010011111111100110010","101111000100000100011000010001011111001010010001010110001010","001010001110101010000100010011101001010101101101010111100101","001111110000101100010111111100000100101010000001011101100001","101011110010000010010110000100001010011111100011011000110010","011110010100011101100101111101000001011100001011010001110011","000101000101000010010010110111000010101111001101100110011100","100011100110011111000110011001111100001110110111001001000111","111011000110001000110111011001011110010010010110101000011111","011110011110110110011011001011010000100100101010110000010011","010011110011100101010101111010001001001111101111101110011101"};for (int i = 0; i < 30; i++) {map[i] = matrix[i].toCharArray();}for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {if (map[i][j] == '1')bfs(new Node(i, j));}}System.out.println(max);//148}private static void bfs(Node node) {int sum = 1;boolean[][] vis = new boolean[30][60];Deque<Node> deque = new ArrayDeque<>();deque.addLast(node);vis[node.x][node.y] = true;while (!deque.isEmpty()) {Node poll = deque.pollFirst();for (int i = 0; i < 4; i++) {int dx = poll.x + dis[i][0];int dy = poll.y + dis[i][1];if (dx >= 0 && dx < 30 && dy >= 0 && dy < 60 && map[dx][dy] == '1' && !vis[dx][dy]) {vis[dx][dy] = true;deque.addLast(new Node(dx, dy));if (++sum > max) {max = sum;}}}}}static class Node {int x;int y;public Node(int x, int y) {this.x = x;this.y = y;}}
}

编程题部分

第六题【一周第几天】

问题描述
  给定一天是一周中的哪天,请问 n 天后是一周中的哪天?
输入格式
  输入第一行包含一个整数 w,表示给定的天是一周中的哪天,w 为 1 到 6 分别表示周一到周六,w 为 7 表示周日。
  第二行包含一个整数 n。
输出格式
  输出一行包含一个整数,表示 n 天后是一周中的哪天,1 到 6 分别表示周一到周六,7 表示周日。
样例输入
6
10
样例输出
2

思路: 相加取余即可,注意余数为0的时候,是周日,需要手动转换一下。

题解:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main{static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws IOException {int w = Integer.parseInt(br.readLine());int n = Integer.parseInt(br.readLine());int day = (w + n) % 7;System.out.println(day == 0 ? 7 : day);}
}

第七题【被覆盖的点】

问题描述
  小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立坐标轴后,西南角坐标为 (0, 0), 东南角坐标为 (W, 0), 西北角坐标为 (0, H), 东北角坐标为 (W, H)。其中 W, H 都是整数。
  他在 n 个位置设置了信号塔,每个信号塔可以覆盖以自己为圆心,半径为 R 的圆形(包括边缘)。
  为了对信号覆盖的情况进行检查,小蓝打算在区域内的所有横纵坐标为整数的点进行测试,检查信号状态。其中横坐标范围为 0 到 W,纵坐标范围为 0 到 H,总共测试 (W+1) * (H+1) 个点。
  给定信号塔的位置,请问这 (W+1)*(H+1) 个点中有多少个点被信号覆盖。
输入格式
  输入第一行包含四个整数 W, H, n, R,相邻整数之间使用一个空格分隔。
  接下来 n 行,每行包含两个整数 x, y,表示一个信号塔的坐标。信号塔可能重合,表示两个信号发射器装在了同一个位置。
输出格式
  输出一行包含一个整数,表示答案。
样例输入
10 10 2 5
0 0
7 0
样例输出
57
评测用例规模与约定
  对于所有评测用例,1 <= W, H <= 100,1 <= n <= 100, 1 <= R <= 100, 0 <= x <= W, 0 <= y <= H。

思路: 由于用例规模比较小,使用普通BFS求解即可

题解:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Deque;public class Main{static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static boolean[][] vis;static int w, h, n, r, count;static int[][] dis = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};//宽W,高Hpublic static void main(String[] args) throws IOException {String[] split = br.readLine().split(" ");w = Integer.parseInt(split[0]);h = Integer.parseInt(split[1]);n = Integer.parseInt(split[2]);r = Integer.parseInt(split[3]);vis = new boolean[h + 1][w + 1];for (int i = 0; i < n; i++) {String[] temp = br.readLine().split(" ");bfs(new Node(Integer.parseInt(temp[0]), Integer.parseInt(temp[1])));}System.out.println(count);}private static void bfs(Node node) {Deque<Node> deque = new ArrayDeque<>();deque.addLast(node);while (!deque.isEmpty()) {Node poll = deque.pollFirst();for (int i = 0; i < 4; i++) {int dx = poll.x + dis[i][0];int dy = poll.y + dis[i][1];if (dx >= 0 && dx <= w && dy >= 0 && dy <= h && dis(node.x, node.y, dx, dy) <= r && !vis[dx][dy]) {vis[dx][dy] = true;deque.addLast(new Node(dx, dy));count++;}}}}static double dis(int x1, int y1, int x2, int y2) {int dis = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);return Math.sqrt(dis);}static class Node {int x;int y;public Node(int x, int y) {this.x = x;this.y = y;}}
}

第八题【未被清理的区域】

问题描述
  小蓝有一个 n * m 大小的矩形水域,小蓝将这个水域划分为 n 行 m 列,行数从 1 到 n 标号,列数从 1 到 m 标号。每行和每列的宽度都是单位 1 。
  现在,这个水域长满了水草,小蓝要清理水草。
  每次,小蓝可以清理一块矩形的区域,从第 r1 行(含)到第 r2 行(含)的第 c1 列(含)到 c2 列(含)。
  经过一段时间清理后,请问还有多少地方没有被清理过。
输入格式
  输入第一行包含两个整数 n, m,用一个空格分隔。
  第二行包含一个整数 t ,表示清理的次数。
  接下来 t 行,每行四个整数 r1, c1, r2, c2,相邻整数之间用一个空格分隔,表示一次清理。请注意输入的顺序。
输出格式
  输出一行包含一个整数,表示没有被清理过的面积。
样例输入
2 3
2
1 1 1 3
1 2 2 2
样例输出
2
样例输入
30 20
2
5 5 10 15
6 7 15 9
样例输出
519
评测用例规模与约定
  对于所有评测用例,1 <= r1 <= r2 <= n <= 100, 1 <= c1 <= c2 <= m <= 100, 0 <= t <= 100。

思路: 简单题,通过给数组赋值,使用0或1来表示清理与未清理即可,推荐使用Arrays.fill()方法来填充数组。

题解:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;public class Main{static int n, m, t;static int[][] map;static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws IOException {String[] first = br.readLine().split(" ");n = Integer.parseInt(first[0]);m = Integer.parseInt(first[1]);map = new int[n][m];t = Integer.parseInt(br.readLine());for (int i = 0; i < t; i++) {String[] temp = br.readLine().split(" ");int r1 = Integer.parseInt(temp[0]);int c1 = Integer.parseInt(temp[1]);int r2 = Integer.parseInt(temp[2]);int c2 = Integer.parseInt(temp[3]);for (int j = r1 - 1; j <= r2 - 1; j++) {Arrays.fill(map[j], c1 - 1, c2, 1);}}int count = 0;for (int[] ints : map) {for (int anInt : ints) {if (anInt == 0) {count++;}}}System.out.println(count);}
}

第九题【滑行距离】

问题描述
  小蓝准备在一个空旷的场地里面滑行,这个场地的高度不一,小蓝用一个 n 行 m 列的矩阵来表示场地,矩阵中的数值表示场地的高度。
  如果小蓝在某个位置,而他上、下、左、右中有一个位置的高度(严格)低于当前的高度,小蓝就可以滑过去,滑动距离为 1 。
  如果小蓝在某个位置,而他上、下、左、右中所有位置的高度都大于等于当前的高度,小蓝的滑行就结束了。
  小蓝不能滑出矩阵所表示的场地。
  小蓝可以任意选择一个位置开始滑行,请问小蓝最多能滑行多远距离。
输入格式
  输入第一行包含两个整数 n, m,用一个空格分隔。
  接下来 n 行,每行包含 m 个整数,相邻整数之间用一个空格分隔,依次表示每个位置的高度。
输出格式
  输出一行包含一个整数,表示答案。
样例输入
4 5
1 4 6 3 1
11 8 7 3 1
9 4 5 2 1
1 3 2 2 1
样例输出
7
样例说明
  滑行的位置一次为 (2, 1), (2, 2), (2, 3), (3, 3), (3, 2), (4, 2), (4, 3)。
评测用例规模与约定
  对于 30% 评测用例,1 <= n <= 20,1 <= m <= 20,0 <= 高度 <= 100。
  对于所有评测用例,1 <= n <= 100,1 <= m <= 100,0 <= 高度 <= 10000。

思路: 普通BFS即可求解,注意一点:走不动的区域要回退。

题解:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Deque;public class Main{static int n, m;static int max;static int[][] map;static int[][] dis = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws IOException {String[] split = br.readLine().split(" ");n = Integer.parseInt(split[0]);m = Integer.parseInt(split[1]);map = new int[n][m];for (int i = 0; i < n; i++) {String[] temp = br.readLine().split(" ");for (int j = 0; j < temp.length; j++) {map[i][j] = Integer.parseInt(temp[j]);}}for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {bfs(new Node(i, j));}}System.out.println(max);}private static void bfs(Node node) {int count = 0;boolean[][] vis = new boolean[n][m];Deque<Node> deque = new ArrayDeque<>();deque.addLast(node);vis[node.x][node.y] = true;while (!deque.isEmpty()) {Node poll = deque.pollFirst();for (int i = 0; i < 4; i++) {int dx = poll.x + dis[i][0];int dy = poll.y + dis[i][1];if (dx >= 0 && dx < n && dy >= 0 && dy < m && !vis[dx][dy]) {vis[dx][dy] = true;if (judgePass(dx, dy)) {deque.addLast(new Node(dx, dy));count++;}elsecount--;}}}if (max < count) max = count;}static boolean judgePass(int x, int y) {boolean flag = false;if (x - 1 >= 0 && y >= 0 && x - 1 < n && y < m) {if (map[x - 1][y] < map[x][y])flag = true;}if (x + 1 >= 0 && y >= 0 && x + 1 < n && y < m) {if (map[x + 1][y] < map[x][y]) {flag = true;}}if (x >= 0 && y - 1 >= 0 && x < n && y - 1 < m) {if (map[x][y - 1] < map[x][y]) {flag = true;}}if (x >= 0 && y + 1 >= 0 && x < n && y + 1 < m) {if (map[x][y + 1] < map[x][y]) {flag = true;}}return flag;}static class Node {int x;int y;public Node(int x, int y) {this.x = x;this.y = y;}}
}

第十题【可重复贡献度问题】

问题描述
  问题描述:小蓝有一个序列 a[1], a[2], …, a[n]。
  给定一个正整数 k,请问对于每一个 1 到 n 之间的序号 i,a[i-k], a[i-k+1], …, a[i+k] 这 2k+1 个数中的最小值是多少?当某个下标超过 1 到 n 的范围时,数不存在,求最小值时只取存在的那些值。
输入格式
  输入的第一行包含一整数 n。
  第二行包含 n 个整数,分别表示 a[1], a[2], …, a[n]。
  第三行包含一个整数 k 。
输出格式
  输出一行,包含 n 个整数,分别表示对于每个序号求得的最小值。
样例输入
5
5 2 7 4 3
1
样例输出
2 2 2 3 3
评测用例规模与约定
  对于 30% 的评测用例,1 <= n <= 1000,1 <= a[i] <= 1000。
  对于 50% 的评测用例,1 <= n <= 10000,1 <= a[i] <= 10000。
  对于所有评测用例,1 <= n <= 1000000,1 <= a[i] <= 1000000。

思路: 注意看样例范围,对于百万级的数据,暴力求解的时间复杂度为O(n²),必定超时,对于静态的区间最值问题考虑ST表,每次查询的时间复杂度是O(1),但是预处理的时间复杂度是O(nlogn);如果是动态问题,考虑使用线段树求解O(nlogn)。

ST表题解:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class Main{static int n, k, f;static int[] array;static int[][] ST;static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static void main(String[] args) throws IOException {String fist = br.readLine();n = Integer.parseInt(fist);f = (int) Math.ceil(Math.log(n) / Math.log(2));array = new int[n];ST = new int[n][f];String[] second = br.readLine().split(" ");for (int i = 0; i < n; i++) array[i] = Integer.parseInt(second[i]);k = Integer.parseInt(br.readLine());init();for (int i = 0; i < n; i++) {int begin = Math.max(i - k, 0);int end = i + k < n ? i + k : n - 1;System.out.print(query(begin, end) + " ");}}static void init() {for (int i = 0; i < n; i++) {ST[i][0] = array[i];}for (int k = 1; k < f; k++) {for (int s = 0; s + (1 << k) <= n; s++) {ST[s][k] = Math.min(ST[s][k - 1], ST[s + (1 << (k - 1))][k - 1]);}}}static int query(int begin, int end) {int len = end - begin + 1;int k = (int) (Math.log(len) / Math.log(2));return Math.min(ST[begin][k], ST[end - (1 << k) + 1][k]);}
}

结语

题解全为本人手写,无抄袭,有些不完美,也可能有小错误,请大家批评指正。

文章粗浅,希望对大家有帮助!

相关文章:

第十四届蓝桥杯模拟赛(第三期)Java组个人题解

第十四届蓝桥杯模拟赛&#xff08;第三期&#xff09;Java组个人题解 今天做了一下第三期的校内模拟赛&#xff0c;有些地方不确定&#xff0c;欢迎讨论和指正~ 文章目录第十四届蓝桥杯模拟赛&#xff08;第三期&#xff09;Java组个人题解填空题部分第一题【最小数】第二题【E…...

Go语言之条件判断循环语句(if-else、switch-case、for、goto、break、continue)

一、if-else条件判断语句 Go中的if-else条件判断语句跟C差不多。但是需要注意的是&#xff0c;Go中强制规定&#xff0c;关键字if和else之后的左边的花括号"{“必须和关键字在同一行&#xff0c;若使用了else if结构&#xff0c;则前段代码快的右花括号”}"必须和关…...

深入理解AQS

概念设计初衷&#xff1a;该类利用 状态队列 实现了一个同步器&#xff0c;更多的是提供一些模板方法&#xff08;子类必须重写&#xff0c;不然会抛错&#xff09;。 设计功能&#xff1a;独占、共享模式两个核心&#xff0c;state、Queue2.1 statesetState、compareAndSetSta…...

JVM学习笔记十:执行引擎

0. 前言 声明&#xff1a; 感谢尚硅谷宋红康老师的讲授。 感谢广大网友共享的笔记内容。 B站&#xff1a;https://www.bilibili.com/video/BV1PJ411n7xZ 本文的内容基本来源于宋老师的课件&#xff0c;其中有一些其他同学共享的内容&#xff0c;也有一些自己的理解内容。 1. …...

【2023-03-10】JS逆向之美团滑块

提示&#xff1a;文章仅供参考&#xff0c;禁止用于非法途径 前言 目标网站:aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2NvdW50L3VuaXRpdmVsb2dpbg 页面分析 接口流程 1.https://passport.meituan.com/account/unitivelogin主页接口&#xff1a;需获取下面的参数&#xff0…...

全志V853芯片放开快启方案打印及在快起方式下配置isp led的方法

全志V85x芯片 如何放开快启方案的打印&#xff1f; 1.主题 如何放开快启方案的打印 2.问题背景 产品&#xff1a;v851系列快启方案 软件&#xff1a;tina 其他&#xff1a;特有版本信息添加自由描述 &#xff08;如固件版本&#xff0c;复现概率&#xff0c;特定环境&#x…...

大数据 | (一)Hadoop伪分布式安装

大数据原理与应用教材链接&#xff1a;大数据技术原理与应用电子课件-林子雨编著 Hadoop伪分布式安装借鉴文章&#xff1a;Hadoop伪分布式安装-比课本详细 大数据 | &#xff08;二&#xff09;SSH连接报错Permission denied&#xff1a;SSH连接报错Permission denied 哈喽&a…...

Django/Vue实现在线考试系统-06-开发环境搭建-Django安装

1.0 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(…...

KaiwuDB 时序引擎数据存储内存对齐技术解读

一、理论1、什么是内存对齐现代计算机中内存空间都是按照 byte 划分的&#xff0c;在计算机中访问一个变量需要访问它的内存地址&#xff0c;从理论上看&#xff0c;似乎对任何类型的变量的访问都可以从任何地址开始。但在实际情况中&#xff0c;通常在特定的内存地址才能访问特…...

IR 808 Alkyne,IR-808 alkyne,IR 808炔烃,近红外吲哚类花菁染料

【产品理化指标】&#xff1a;中文名&#xff1a;IR-808炔烃英文名&#xff1a;IR-808 alkyne&#xff0c;Alkyne 808-IR CAS号&#xff1a;N/AIR-808结构式&#xff1a;规格包装&#xff1a;10mg&#xff0c;25mg&#xff0c;50mg&#xff0c;接受各种复杂PEGS定制服务&#x…...

elasticsearch

这里写目录标题1.初识ElasticSearch1.1 了解ES1.2 倒排索引1.2.1 正向索引1.2.2 倒排索引1.2.3 正向和倒排1.3 ES的一些概念1.3.1 文档和字段1.3.2 索引和映射1.3.3 mysql和elasticsearch1.4 安装ES、kibana1.初识ElasticSearch 1.1 了解ES elasticsearch是一款非常强大的开源…...

并发编程---java锁

java锁一 多线程锁synchronized案例分析1.1synchronized介绍1.2 synchronized案例分析1.2.1.标准访问&#xff0c;请问先打印邮件还是短信&#xff1f;1.2.2.邮件⽅法暂停4秒钟&#xff0c;请问先打印邮件还是短信&#xff1f;分析1.2.3.新增⼀个普通⽅法hello&#xff08;&…...

品牌营销 | 学习如何最大限度地发挥品牌营销的作用

您是否想过如何最大限度地发挥品牌营销的潜力&#xff1f;这是一项艰巨的挑战&#xff0c;通过了解品牌营销的基本组成部分&#xff0c;您可以成功地推广您的品牌。 &#xff08;图源&#xff1a;Pixabay&#xff09; 品牌营销的基本组成部分 你需要做什么来发展稳固的品牌&am…...

Linux驱动的同步阻塞和同步非阻塞

在字符设备驱动中&#xff0c;若要求应用与驱动同步&#xff0c;则在驱动程序中可以根据情况实现为阻塞或非阻塞一、同步阻塞这种操作会阻塞应用程序直到设备完成read/write操作或者返回一个错误码。在应用程序阻塞这段时间&#xff0c;程序所代表的进程并不消耗CPU的时间&…...

LearnOpenGL-光照-5.投光物

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录投光物平行光点光源聚光不平滑的例子平滑例子投光物 前面几节使用的光照都来自于空间中的一个点 即…...

【C语言】每日刷题 —— 牛客语法篇(1)

前言 大家好&#xff0c;今天带来一篇新的专栏c_牛客&#xff0c;不出意外的话每天更新十道题&#xff0c;难度也是从易到难&#xff0c;自己复习的同时也希望能帮助到大家&#xff0c;题目答案会根据我所学到的知识提供最优解。 &#x1f3e1;个人主页&#xff1a;悲伤的猪大…...

【深度学习】Subword Tokenization算法

在自然语言处理中&#xff0c;面临的首要问题是如何让模型认识我们的文本信息&#xff0c;词&#xff0c;是自然语言处理中基本单位&#xff0c;神经网络模型的训练和预测都需要借助词表来对句子进行表示。 1.构建词表的传统方法 在字词模型问世之前&#xff0c;做自然语言处理…...

五分钟了解支付、交易、清算、银行等专业名词的含义?

五分钟了解支付、交易、清算、银行等专业名词的含义&#xff1f;1. 支付类名词01 支付应用02 支付场景03 交易类型04 支付类型&#xff08;按通道类型&#xff09;05 支付类型&#xff08;按业务双方类型&#xff09;06 支付方式07 支付产品08 收银台类型09 支付通道10 通道类型…...

4个工具,让 ChatGPT 如虎添翼!

LightGBM中文文档 机器学习统计学,476页 机器学习圣经PRML中文版...

初识PO、VO、DAO、BO、DTO、POJO时

PO、VO、DAO、BO、DTO、POJO 区别分层领域模型规约DO(Data Object)DTO(Data Transfer Object)BO(Business Object)AO(ApplicationObject)VO(View Object)Query领域模型命名规约&#xff1a;一、PO :(persistant object )&#xff0c;持久对象二、VO :(value object) &#xff0…...

基于MATLAB与机器学习(SVM)的裂缝检测识别系统,附GUI界面、特征参数计算与Excel...

基于MATLAB和机器学习&#xff08;向量机&#xff09;的裂缝检测&#xff08;识别&#xff09;系统程序&#xff0c;带GUI界面&#xff0c;对裂缝主要参数&#xff08;长度&#xff0c;宽度&#xff0c;面积&#xff09;进行计算&#xff0c;已经训练好分类器&#xff0c;包含裂…...

Agent可观测性工程:监控、追踪与告警的最佳实践

Agent可观测性工程:监控、追踪与告警的最佳实践 一、 引言 (Introduction) (一)钩子 (The Hook) 你是否有过这种令人抓狂的经历?凌晨三点,手机突然弹出刺耳的告警提示音,内容是“你的金融风控Agent集群延迟飙升至27秒,核心交易拒单率突破5‰阈值!”。你从床上弹起来,…...

新手福音:通过快马平台调用codex,用自然语言学写计算器代码

作为一个刚接触编程的新手&#xff0c;我最近发现了一个特别友好的学习方式——通过自然语言描述让AI帮我生成代码。这次我想做一个简单的网页计算器&#xff0c;在InsCode(快马)平台上体验了一把用codex模型生成代码的过程&#xff0c;收获很大。下面分享我的学习笔记&#xf…...

nli-distilroberta-base模型解析:深入理解其与计算机组成原理的关联

nli-distilroberta-base模型解析&#xff1a;深入理解其与计算机组成原理的关联 1. 引言&#xff1a;当自然语言处理遇上计算机组成原理 你可能已经用过nli-distilroberta-base这个轻量级的自然语言推理模型&#xff0c;但有没有想过它在计算机底层是如何运作的&#xff1f;就…...

multiagent-particle-envs与PettingZoo对比:迁移指南与最佳实践

multiagent-particle-envs与PettingZoo对比&#xff1a;迁移指南与最佳实践 【免费下载链接】multiagent-particle-envs Code for a multi-agent particle environment used in the paper "Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments"…...

洗衣液模式小程序开发指南

开发洗衣液模式小程序需结合用户需求与行业特点&#xff0c;以下为关键开发方向与实现方法&#xff1a;核心功能设计智能推荐系统 根据衣物材质、污渍程度自动推荐洗衣液用量及模式。需接入AI算法分析用户输入数据&#xff08;如衣物类型、污渍等级&#xff09;。 示例代码&…...

基于IEEE33节点的节点碳势计算与可视化 摘要:代码主要是基于IEEE33节点这个标准算例

基于IEEE33节点的节点碳势计算与可视化 摘要&#xff1a;代码主要是基于IEEE33节点这个标准算例&#xff0c;然后对各个节点碳势进行了逐一的计算&#xff0c;计算完毕后&#xff0c;通过MATLAB编程&#xff0c;对各个节点的碳势进行了可视化&#xff0c;非常清晰的一个代码&am…...

终极RAID启动指南:Ventoy如何简化复杂存储阵列的系统引导

终极RAID启动指南&#xff1a;Ventoy如何简化复杂存储阵列的系统引导 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 你是否曾为从RAID阵列启动系统而烦恼&#xff1f;传统的BIOS配置和驱动程序加载过…...

开源PDF工具clawPDF:高效办公的终极解决方案

开源PDF工具clawPDF&#xff1a;高效办公的终极解决方案 【免费下载链接】clawPDF Open Source Virtual (Network) Printer for Windows that allows you to create PDFs, OCR text, and print images, with advanced features usually available only in enterprise solutions…...

PMP培训机构怎么选?27年实战经验告诉你答案

在深圳&#xff0c;PMP认证已经成为项目管理从业者提升竞争力的重要途径。但面对市面上众多的PMP培训机构&#xff0c;如何选择一家真正靠谱、通过率高、服务有保障的机构&#xff0c;成了很多人头疼的问题。本文结合真实的市场数据和培训经验&#xff0c;帮你理清选择逻辑。 一…...