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

第十二届蓝桥杯大学A组java省赛答案整理

货物摆放

题目描述

小蓝有一个超大的仓库,可以摆放很多货物。

现在,小蓝有 nn 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。

小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 LL、WW、HH 的货物,满足 n=L×W×Hn=L×W×H。

给定 nn,请问有多少种堆放货物的方案满足要求。

例如,当 n=4n=4 时,有以下 66 种方案:1×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×11×1×4、1×2×2、1×4×1、2×1×2、2×2×1、4×1×1。

请问,当 n=2021041820210418n=2021041820210418 (注意有 1616 位数字)时,总共有多少种方案?

提示:建议使用计算机编程解决问题。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...long n = 2021041820210418L;long cnt=0;ArrayList<Long> arr = new ArrayList<>();for(long i = 1; i < Math.sqrt(n); i++){if ( n % i == 0 ){arr.add(i);     //如果能被整除,就放到arr数组中long num = n / i;               if ( num != i ){      arr.add(num);     //将较大的因子放入arr数组}}}for(long i:arr){for(long j:arr){for(long k:arr){if(i*j*k==n) cnt++;}}}System.out.println(cnt);scan.close();}
}

回路计数

题目描述

蓝桥学院由 2121​​​ 栋教学楼组成,教学楼编号 11​​ 到 2121​​。对于两栋教学楼 aa​​ 和 bb​,当 aa​ 和 bb​ 互质时,aa 和 bb 之间有一条走廊直接相连,两个方向皆可通行,否则没有直接连接的走廊。

小蓝现在在第一栋教学楼,他想要访问每栋教学楼正好一次,最终回到第一栋教学楼(即走一条哈密尔顿回路),请问他有多少种不同的访问方案?

两个访问方案不同是指存在某个 ii,小蓝在两个访问方法中访问完教学楼 ii 后访问了不同的教学楼。

提示:建议使用计算机编程解决问题。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

package lanqiao;import java.util.Scanner;public class lq7 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = 21; // 教学楼数量// 预处理互质关系boolean[][] isCoprime = new boolean[n + 1][n + 1];for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {isCoprime[i][j] = (gcd(i, j) == 1);}}// 动态规划数组long[][] dp = new long[1 << n][n];dp[1][0] = 1; // 初始状态:第 1 栋教学楼已访问// 动态规划for (int mask = 1; mask < (1 << n); mask++) {for (int i = 0; i < n; i++) {if ((mask & (1 << i)) != 0) { // 如果当前教学楼已访问for (int j = 0; j < n; j++) {if ((mask & (1 << j)) == 0 && isCoprime[i + 1][j + 1]) { // 如果下一栋教学楼未访问且与当前教学楼互质dp[mask | (1 << j)][j] += dp[mask][i]; // 更新状态}}}}}// 计算结果long result = 0;for (int i = 1; i < n; i++) { // 遍历所有可能的终点if (isCoprime[i + 1][1]) { // 如果终点与起点互质result += dp[(1 << n) - 1][i]; // 累加结果}}System.out.println(result); // 输出结果scan.close();}// 迭代实现的最大公约数计算static int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}
}

最少砝码

问题描述

你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意 小于等于 NN 的正整数重量。

那么这套砝码最少需要包含多少个砝码?

注意砝码可以放在天平两边。

输入格式

输入包含一个正整数 N。

输出格式

输出一个整数代表答案。

样例输入

7

样例输出

3

样例说明

33 个砝码重量是 1、4、61、4、6,可以称出 11 至 77的所有重量。

1=1;1=1;

2=6−42=6−4(天平一边放 66,另一边放 44);

3=4−1;3=4−1;

4=4;4=4;

5=6−1;5=6−1;

6=6;6=6;

7=1+6;7=1+6;

少于 33 个砝码不可能称出 11 至 77​ 的所有重量。

评测用例规模与约定

对于所有评测用例,1≤N≤10000000001≤N≤1000000000。

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...int N = scan.nextInt();int sum = 1;for(int i = 1; ;i++){if(N <= sum){System.out.println(i);break;}sum = sum *3+1;}scan.close();}
}

路径

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。

小蓝的图由 2021 个结点组成,依次编号 1 至 2021。

对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。

例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无 向边,长度为 24;结点 15 和结点 25 之间有一条无向边,长度为 75。

请计算,结点 1 和结点 2021 之间的最短路径长度是多少。

提示:建议使用计算机编程解决问题。

import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int[] q = new int[2022]; // 定义数组 q,用于存储最小代价Arrays.fill(q, Integer.MAX_VALUE); // 初始化数组 q,所有值设为最大值q[1] = 0; // 起点代价为 0// 动态规划计算最小代价for (int i = 1; i <= 2020; i++) {for (int j = i + 1; j <= 2021 && (j - i) <= 21; j++) {q[j] = Math.min(q[j], q[i] + lcm(i, j)); // 更新 q[j] 的最小代价}}System.out.println(q[2021]); // 输出 q[2021] 的值scan.close();}// 计算最大公约数(GCD)static int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);}// 计算最小公倍数(LCM)static int lcm(int a, int b) {return a * b / gcd(a, b);}
}

分果果

题目描述

小蓝要在自己的生日宴会上将 nn​​​​ 包糖果分给 mm​​​​ 个小朋友。每包糖果都要分出去,每个小朋友至少要分一包,也可以分多包。

小蓝已经提前将糖果准备好了,为了在宴会当天能把糖果分得更平均一些,小蓝要先计算好分配方案。 小蓝将糖果从 11​​​ 到 nn​​ 编号,第 ii​ 包糖果重 wiwi​。小朋友从 11 到 mm​​ 编号。每个小朋友只能分到编号连续的糖果。小蓝想了很久没想出合适的分配方案使得每个小朋友分到的糖果差不多重。因此需要你帮他一起想办法。为了更好的分配糖果,他可以再买一些糖果,让某一些编号的糖果有两份。当某个编号的糖果有两份时,一个小朋友最多只能分其中的一份。

请找一个方案,使得小朋友分到的糖果的最大重量和最小重量的差最小,请输出这个差。

例如,小蓝现在有 55​​​​ 包糖果,重量分别为 6,1,2,7,96,1,2,7,9​​​​,如果小蓝要分给两个小朋友,则他可以将所有糖果再买一份,两个小朋友都分到 11​​​ 至 55​​ 包糖果,重量都是 2525​,差为 00。

再如,小蓝现在有 55​ 包糖果,重量分别为 6,1,2,7,96,1,2,7,9​​​​​​​,如果小蓝要分给三个小朋友,则他可以将第 3 包糖果再买一份,第一个小朋友分 11​​​​​​ 至 33​​​​​ 包,第二个小朋友分 33​​​​ 至 44​​​ 包,第三个小朋友分第 55​​ 包,每个小朋友分到的重量都是 99​,差为 00。

再如,小蓝现在有 55​ 包糖果,重量分别为 6,1,2,7,96,1,2,7,9,如果小蓝要分给四个小朋友,则他可以将第 33 包和第 55 包糖果再买一份,仍然可以每个小朋友分到的重量都是 99,差为 00。

再如,小蓝现在有 55​​​​​​​​​​​​​ 包糖果,重量分别为 6,1,2,7,96,1,2,7,9​​​​​​​​​​​​,如果小蓝要分给五个小朋友,则他可以将第 4 包和第 55​​​​​​​​​​​ 包糖果再买一份,第一个小朋友分第 11​​​​​​​​​​ 至 22​​​​​​​​​ 包重量为 77​​​​​​​​,第二个小朋友分第 33​​​​​​​ 至 44​​​​​​ 包重量为 99​​​​​,第三个小朋友分第 44​​​​ 包重量为 77​​​,第四个和第五个小朋友都分第 55​​ 包重量为 99​。差为 22。

输入描述

输入第一行包含两个整数 nn 和 mm,分别表示糖果包数和小朋友数量。

第二行包含 nn 个整数 w1,w2,⋅⋅⋅,wnw1​,w2​,⋅⋅⋅,wn​,表示每包糖果的重量。

输出描述

输出一个整数,表示在最优情况下小朋友分到的糖果的最大重量和最小重量的差。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt(); // 糖果的包数int m = scan.nextInt(); // 小朋友的数量scan.nextLine(); // 读取换行符int[] arr = new int[n + 1]; // 前缀和数组for (int i = 1; i <= n; i++) {arr[i] = arr[i - 1] + scan.nextInt(); // 计算前缀和}int ans = Integer.MAX_VALUE; // 初始化答案为最大值int[][][] dp = new int[m + 1][n + 1][n + 1]; // 动态规划数组// 初始化 dp 数组for (int i = 0; i <= m; i++) {for (int j = 0; j <= n; j++) {for (int k = 0; k <= j; k++) {dp[i][j][k] = Integer.MAX_VALUE; // 初始化为最大值}}}dp[0][0][0] = 0; // 初始状态// 枚举最小值for (int min = arr[n] * 2 / m; min > 0; min--) {for (int i = 1; i <= m; i++) { // 枚举小朋友for (int j = 1; j <= n; j++) { // 枚举糖果int trans2 = 0, trans3 = 0; // 两个指针for (int k = 1; k <= j; k++) { // 枚举分配点dp[i][j][k] = dp[i][j][k - 1]; // 初始化为前一个状态// 使用 trans2 优化状态转移while (trans2 < k && arr[j] - arr[trans2 + 1] >= min && Math.max(dp[i - 1][trans2 + 1][trans2 + 1], arr[j] - arr[trans2 + 1]) <= Math.max(dp[i - 1][trans2][trans2], arr[j] - arr[trans2])) {trans2++;}// 更新 dp[i][j][k]if (arr[j] - arr[trans2] >= min) {dp[i][j][k] = Math.min(dp[i][j][k], Math.max(dp[i - 1][trans2][trans2], arr[j] - arr[trans2]));}// 使用 trans3 优化状态转移while (trans3 < k && arr[j] - arr[trans3 + 1] >= min && Math.max(dp[i - 1][k][trans3 + 1], arr[j] - arr[trans3 + 1]) <= Math.max(dp[i - 1][k][trans3 + 1], arr[j] - arr[trans3])) {trans3++;}// 更新 dp[i][j][k]if (arr[j] - arr[trans3] >= min) {dp[i][j][k] = Math.min(dp[i][j][k], Math.max(dp[i - 1][k][trans3], arr[j] - arr[trans3]));}}}}// 更新答案ans = Math.min(ans, dp[m][n][n] - min);}// 输出结果System.out.println(ans);scan.close();}
}

双向排序

题目描述

给定序列 (a1,a2,⋅⋅⋅,an)=(1,2,⋅⋅⋅,n)(a1​,a2​,⋅⋅⋅,an​)=(1,2,⋅⋅⋅,n),即 ai=iai​=i。

小蓝将对这个序列进行 mm 次操作,每次可能是将 a1,a2,⋯,aqia1​,a2​,⋯,aqi​​ 降序排列,或者将 aqi,aqi+1,⋯,anaqi​​,aqi+1​​,⋯,an​ 升序排列。

请求出操作完成后的序列。

输入描述

输入的第一行包含两个整数 n,mn,m​,分别表示序列的长度和操作次数。

接下来 mm​ 行描述对序列的操作,其中第 i 行包含两个整数 pi,qipi​,qi​​ 表示操作类型和参数。当 pi=0pi​=0​​ 时,表示将 a1,a2,⋅⋅⋅,aqia1​,a2​,⋅⋅⋅,aqi​​​​ 降序排列;当 pi=1pi​=1​ 时,表示将 aqi,aqi+1,⋯,anaqi​​,aqi+1​​,⋯,an​​ 升序排列。

输出描述

输出一行,包含 nn 个整数,相邻的整数之间使用一个空格分隔,表示操作完成后的序列。

输入输出样例

示例

输入

3 3
0 3
1 2
0 2

输出

3 1 2

样例说明

原数列为 (1,2,3)(1,2,3)​​​​​。

第 11​​​​​ 步后为 (3,2,1)(3,2,1)​​​​​。

第 22​​​​ 步后为 (3,1,2)(3,1,2)​​。

第 33​​​ 步后为 (3,1,2)(3,1,2)​。与第 22 步操作后相同,因为前两个数已经是降序了。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringJoiner;public class Main {public static void main(String[] args) throws IOException {new Main().solution();}private void solution() throws IOException {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String[] ss = bf.readLine().split(" ");int n = Integer.parseInt(ss[0]), m = Integer.parseInt(ss[1]);int p, q;int top = 0;PQ[] a = new PQ[m + 1];// 每次入长度最长的操作,并把同类别的短的剔除// 可以一次剔除两个for (int i = 0; i < m; i++) {ss = bf.readLine().split(" ");p = Integer.parseInt(ss[0]);q = Integer.parseInt(ss[1]);if (p == 0) {while (top != 0 && a[top].p == 0) {q = Math.max(q, a[top--].q);}while (top >= 2 && a[top - 1].q <= q) {top -= 2;}} else if (top != 0) {// 如果为空。升序无意义while (top != 0 && a[top].p == 1) {q = Math.min(q, a[top--].q);}while (top >= 2 && a[top - 1].q >= q) {top -= 2;}}a[++top] = new PQ(p, q);}int l = 1, r = n, k = n;int[] ans = new int[n + 1];// 从第一个操作开始遍历,把除中间一段的其余补充for (int i = 1; i <= top; i++) {if (a[i].p == 0) {while (a[i].q < r && l <= r) {ans[r--] = k--;}} else {while (a[i].q > l && l <= r) {ans[l++] = k--;}}if (l > r)break;}// 如果是奇数,说明最后是0操作if (top % 2 == 1) {while (l <= r) {ans[l++] = k--;}} else {while (l <= r) {ans[r--] = k--;}}StringJoiner sj = new StringJoiner(" ");for (int i = 1; i <= n; i++) {sj.add(ans[i] + "");}System.out.println(sj);}class PQ {int p, q;PQ(int p, int q) {this.p = p;this.q = q;}}
}

 左孩子右兄弟

题目描述

对于一棵多叉树,我们可以通过 “左孩子右兄弟” 表示法,将其转化成一棵二叉树。

如果我们认为每个结点的子结点是无序的,那么得到的二叉树可能不唯一。

换句话说,每个结点可以选任意子结点作为左孩子,并按任意顺序连接右兄弟。

给定一棵包含 NN​​ 个结点的多叉树,结点从 11​​ 至 NN​ 编号,其中 11 号结点是根,每个结点的父结点的编号比自己的编号小。

请你计算其通过 “左孩子右兄弟” 表示法转化成的二叉树,高度最高是多少。

注:只有根结点这一个结点的树高度为 00​。

输入描述

输入的第一行包含一个整数 NN​​​。 以下 N−1N−1​​ 行,每行包含一个整数,依次表示 22​ 至 NN 号结点的父结点编号。

输出描述

输出一个整数表示答案。

输入输出样例

示例 1

输入

5
1
1
1
2

输出

4
import java.util.*;public class Main {static ArrayList<Integer>[] shu; // 存储多叉树的子节点static int[] f; // 存储每个节点的高度public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();shu = new ArrayList[n + 5]; // 初始化多叉树Arrays.setAll(shu, i -> new ArrayList<>());f = new int[n + 5]; // 初始化高度数组// 构建多叉树for (int i = 2; i <= n; i++) {int parent = scan.nextInt(); // 读取父节点shu[parent].add(i); // 将当前节点添加到父节点的子节点列表中}dfs(1); // 从根节点开始计算高度// 找到最大高度int max = 0;for (int i = 1; i <= n; i++) {max = Math.max(f[i], max);}System.out.println(max);scan.close();}// DFS计算每个节点的高度public static void dfs(int u) {for (int child : shu[u]) {f[child] = f[u] + shu[u].size(); // 当前节点的高度等于父节点的高度加 1dfs(child); // 递归处理子节点}}
}

 

异或数列

题目描述

Alice 和 Bob 正在玩一个异或数列的游戏。初始时,Alice 和 Bob 分别有一个整数 aa 和 bb,初始值均为 00。

有一个给定的长度为 nn​​ 的公共数列 X1,X2,⋯,XnX1​,X2​,⋯,Xn​​。Alice 和 Bob 轮流操作,Alice 先手,每步可以在以下两种选项中选一种:

选项 1:从数列中选一个 XiXi​​​ 给 Alice 的数异或上,或者说令 aa​​ 变为 a⊕Xia⊕Xi​​​。(其中 ⊕⊕​​ 表示按位异或)

选项 2:从数列中选一个 XiXi​​​ 给 Bob 的数异或上,或者说令 bb​​ 变为 b⊕Xib⊕Xi​​​。

每个数 XiXi​​ 都只能用一次,当所有 XiXi​ 均被使用后(nn​​ 轮后)游戏结束。游戏结束时,拥有的数比较大的一方获胜,如果双方数值相同,即为平手。 现在双方都足够聪明,都采用最优策略,请问谁能获胜?

输入描述

每个评测用例包含多组询问。询问之间彼此独立。

输入的第一行包含一个整数 T,表示询问数。

接下来 TT​ 行每行包含一组询问。其中第 ii​ 行的第一个整数 nini​​ 表示数列长度,随后 nini​​ 个整数 X1,X2,⋯,XniX1​,X2​,⋯,Xni​​ 表示数列中的每个数。

输出描述

输出 TT​​ 行,依次对应每组询问的答案。 每行包含一个整数 11​​、00​ 或−1−1 分别表示 Alice 胜、平局或败。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int T = sc.nextInt();while (T-- > 0) {solve(sc);}sc.close();}public static void solve(Scanner sc) {int n = sc.nextInt();int[] cnt = new int[25]; // 统计每一位的1的个数int maxp = 0; // 记录最高位for (int i = 0; i < n; i++) {int t = sc.nextInt();int p = 0;while (t != 0) {cnt[p] += (t & 1); // 统计当前位的1的个数maxp = Math.max(p + 1, maxp); // 更新最高位t >>= 1; // 右移一位p++;}}int result = 0;for (int i = maxp - 1; i >= 0; i--) {if ((cnt[i] & 1) == 1) { // 如果当前位的1的个数是奇数if ((n & 1) == 1 || cnt[i] == 1) {result = 1; // Alice胜} else {result = -1; // Bob胜}break;}}System.out.println(result);}
}

直线

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条。

给定平面上 2 × 3 个整点(x,y)∣0≤x<2,0≤y<3,x∈Z,y∈Z(x,y)∣0≤x<2,0≤y<3,x∈Z,y∈Z​,即横坐标 是 00 到 11 (包含 0 和 1) 之间的整数、纵坐标是 0 到 2 (包含 0 和 2) 之间的整数 的点。这些点一共确定了 11 条不同的直线。

给定平面上 20×2120×21 个整点 (x,y)∣0≤x<20,0≤y<21,x∈Z,y∈Z(x,y)∣0≤x<20,0≤y<21,x∈Z,y∈Z,即横 坐标是 00 到 1919 (包含 00 和 1919) 之间的整数、纵坐标是 00 到 2020 (包含 00 和 2020​) 之 间的整数的点。

请问这些点一共确定了多少条不同的直线。

import java.util.HashSet;
import java.util.Set;public class Main {public static void main(String[] args) {Set<String> lines = new HashSet<>();// 遍历所有点对 (x1,y1) 和 (x2,y2)for (int x1 = 0; x1 < 20; x1++) {for (int y1 = 0; y1 < 21; y1++) {for (int x2 = 0; x2 < 20; x2++) {for (int y2 = 0; y2 < 21; y2++) {if (x1 == x2 && y1 == y2) continue; // 跳过相同点if (x1 == x2 || y1 == y2) continue; // 水平和垂直线后续处理// 计算斜率 kint deltaY = y2 - y1;int deltaX = x2 - x1;int gcd_k = gcd(Math.abs(deltaY), Math.abs(deltaX));String k = (deltaY/gcd_k) + "/" + (deltaX/gcd_k);// 规范分数符号(确保分母为正)if (deltaX < 0) {k = (-deltaY/gcd_k) + "/" + (-deltaX/gcd_k);}// 计算截距 b = (y1x2 - y2x1)/(x2 -x1)int numerator = y1 * x2 - y2 * x1;int denominator = deltaX;int gcd_b = gcd(Math.abs(numerator), Math.abs(denominator));String b = numerator/gcd_b + "/" + denominator/gcd_b;// 规范截距的分数符号if (denominator < 0) {b = (-numerator/gcd_b) + "/" + (-denominator/gcd_b);}if (numerator == 0) {b = "0/1"; // 零截距统一处理}lines.add("y = " + k + "x + " + b);}}}}// 添加水平线 (y = c) 和垂直线 (x = c)int verticalLines = 20; // x=0 到 x=19int horizontalLines = 21; // y=0 到 y=20System.out.println(lines.size() + verticalLines + horizontalLines);}// 计算最大公约数(处理负数)public static int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);}
}

相乘

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝发现,他将 11 至 10000000071000000007 之间的不同的数与 20212021 相乘后再求除以 10000000071000000007 的余数,会得到不同的数。 小蓝想知道,能不能在 11 至 10000000071000000007 之间找到一个数,与 20212021 相乘后 再除以 10000000071000000007 后的余数为 999999999999999999。如果存在,请在答案中提交这个数; 如果不存在,请在答案中提交 00。

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...// for(long i = 1; i <=1000000007; i++){//   if(i*2021%1000000007== 999999999)//     System.out.println(i);// }System.out.println("17812964");scan.close();}
}

 

相关文章:

第十二届蓝桥杯大学A组java省赛答案整理

货物摆放 题目描述 小蓝有一个超大的仓库&#xff0c;可以摆放很多货物。 现在&#xff0c;小蓝有 nn 箱货物要摆放在仓库&#xff0c;每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向&#xff0c;每箱货物的边都必须严格平行于长、宽、高。 小蓝希望所…...

浅浅初识AI、AI大模型、AGI

前记&#xff1a;这里只是简单了解&#xff0c;后面有时间会专门来扩展和深入。 当前&#xff0c;人工智能&#xff08;AI&#xff09;及其细分领域&#xff08;如AI算法工程师、自然语言处理NLP、通用人工智能AGI&#xff09;的就业前景呈现高速增长态势&#xff0c;市场需求…...

flink集成tidb cdc

Flink TiDB CDC 详解 1. TiDB CDC 简介 1.1 TiDB CDC 的核心概念 TiDB CDC 是 TiDB 提供的变更数据捕获工具&#xff0c;能够实时捕获 TiDB 集群中的数据变更&#xff08;如 INSERT、UPDATE、DELETE 操作&#xff09;&#xff0c;并将这些变更以事件流的形式输出。TiDB CDC 的…...

【flutter】TextField输入框工具栏文本为英文解决(不用安装插件版本

输入框长按选项菜单复制、粘贴、剪切、全选部分默认为英文&#xff0c;对于只需要对此部分做中文本地化&#xff0c;不需要考虑其他语言及全局本地化的项目&#xff0c;可以直接自定义一个本地化代理方法进行覆盖&#xff0c;不需要额外下载插件 // 自定义本地化代理 class _C…...

推荐1款OCR的扫描仪软件,无需安装,打开即用!

聊一聊 现在日常办公&#xff0c;很多时候还是需要扫描仪配合。 很多时候需要将文件搜索成PDF再传输。 今天给大家分享一款OCR扫描仪软件。 软件介绍 OCR的扫描仪软件 支持扫描仪共享。 支持WIA、TWAIN、SANE和ESCL驱动程序。 还可以批量多扫描仪配置扫描&#xff0c;支持…...

SpringBoot为什么默认使用CGLIB?

大家好&#xff0c;我是锋哥。今天分享关于【SpringBoot为什么默认使用CGLIB?】面试题。希望对大家有帮助&#xff1b; SpringBoot为什么默认使用CGLIB? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot 默认使用 CGLIB&#xff08;Code Generation Li…...

去除HTML有序列表(ol)编号的多种解决方案

以下是去除HTML有序列表(ol)编号的多种解决方案&#xff1a; <!DOCTYPE html> <html> <head> <style> /* 基础方案&#xff1a;完全移除编号 */ ol.no-number {list-style-type: none; /* 移除默认编号 */padding-left: 0; /* 移除默认缩进 */…...

神经网络|(十三)|SOM神经网络

【1】引言 前序已经对神经网络有了基础认识&#xff0c;今天先学习SOM神经网络。 前序学习文章链接包括且不限于&#xff1a; 神经网络|(十一)|神经元和神经网络-CSDN博客 神经网络|(十二)|常见激活函数-CSDN博客 【2】SOM神经网络 SOM神经网络是一种结构比较简单、但是理…...

IP协议、DNS协议、DHCP协议、Telent协议的记忆总结

首先记忆一下几个协议的端口号 HTTP&#xff1a;超文本传输协议 80 HTTPS&#xff1a;安全传输协议 443 DHCP&#xff1a;动态主机配置协议 67/68 DNS&#xff1a;域名解析协议 53 FTP&#xff1a;文件传输协议 20/21 TFTP&#xff1a;简单文件传输协议 69 TELENT&#xff1a;远…...

Pico 4 Enterprise(企业版)与Unity的交互-有线串流调试篇

入手了Pico 4 E做VR开发&#xff0c;谁知入了天坑...根据官方文档&#xff0c;尝试了串流助手、企业串流、PICO Developer Center&#xff0c;陷入了各种版本问题、环境问题的陷阱。而且Pico4E的OS自24年12开始就不再更新&#xff0c;头盔中预装的企业串流版本也较低&#xff0…...

DeepSeek-R1:使用KTransformers实现高效部署指南

KTransformers作为一个开源框架&#xff0c;专门为优化大规模语言模型的推理过程而设计。它支持GPU/CPU异构计算&#xff0c;并针对MoE架构的稀疏性进行了特别优化&#xff0c;可以有效降低硬件要求&#xff0c;允许用户在有限的资源下运行像DeepSeek-R1这样庞大的模型。 硬件…...

企业日常工作中常用的 Linux 操作系统命令整理

Linux 操作系统命令整理 在企业级运维、开发和日常工作中&#xff0c;Linux 命令是绕不开的核心技能。不论是日志排查、进程管理&#xff0c;还是高效运维优化&#xff0c;掌握这些命令都能让你事半功倍&#xff01;本篇文章整理了自己在日常工作中积累最常用的 Linux 命令&am…...

任务9:交换机基础及配置

CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念&#xff1a;交换机是一种网络设备&#xff0c;用于连接多台计算机或网络设备&#xff0c;实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…...

Notepad++ 8.6.7 安装与配置全攻略(Windows平台)

一、软件定位与核心优势 Notepad 是开源免费的代码/文本编辑器&#xff0c;支持超过80种编程语言的高亮显示&#xff0c;相比系统自带记事本具有以下优势&#xff1a; 轻量高效&#xff1a;启动速度比同类软件快30%插件扩展&#xff1a;支持NppExec、JSON Viewer等200插件跨文…...

SpringMVC请求处理流程:DispatcherServlet工作原理

文章目录 引言一、DispatcherServlet概述二、DispatcherServlet初始化过程三、请求接收与处理器匹配四、请求参数绑定与处理器执行五、视图解析与渲染六、异常处理机制总结 引言 SpringMVC框架是Java Web开发中最流行的MVC框架之一&#xff0c;其核心组件DispatcherServlet作为…...

YOLOv8目标检测推理流程及C++代码

这部分主要是使用c++对Onnx模型进行推理,边先贴代码,过段时间再详细补充下代码说明。 代码主要分成三部分,1.main_det.cpp推理函数主入口;2.inference_det.h 头文件及inference_det.cpp具体函数实现;3.CMakeList.txt. 1.main_det 推理配置信息全部写在config.txt中,执行…...

解锁数据潜能,永洪科技以数据之力简化中粮可口可乐决策之路

企业数字化转型是指企业利用数字技术和信息通信技术来改变自身的商业模式、流程和增值服务&#xff0c;以提高企业的竞争力和创新能力。数字化转型已经成为企业发展的重要战略&#xff0c;尤其在当前信息技术高速发展的时代。数字化转型还涉及到企业与消费者之间的互动和沟通。…...

Redis3 Hash 类型命令详解

1. 什么是 Redis Hash&#xff1f; Redis Hash 是一种 键值对集合&#xff0c;类似于 Java 里的 HashMap&#xff0c;可以用来存储对象的数据。例如&#xff0c;你可以将用户信息存储在 Redis 的 Hash 结构中&#xff0c;每个字段代表用户的一个属性。 示例&#xff1a; HSE…...

双链路提升网络传输的可靠性扩展可用带宽

为了提升网络传输的可靠性或增加网络可用带宽&#xff0c; 通常使用双链路冗余备份或者双链路聚合的方式。 本文介绍几种双链路网络通信的案例。 5GWiFi冗余传输 双Socket绑定不同网络接口&#xff1a;通过Android的ConnectivityManager绑定5G蜂窝网络和WiFi的Socket连接&…...

深入浅出:UniApp 从入门到精通全指南

https://juejin.cn/post/7440119937644101684 uni-app官网 uniapp安卓离线打包流程_uniapp离线打包-CSDN博客 本文是关于 UniApp 从入门到精通的全指南&#xff0c;涵盖基础入门&#xff08;环境搭建、创建项目、项目结构、编写运行&#xff09;、核心概念与进阶知识&#x…...

MDM 如何彻底改变医疗设备的远程管理

在现代医疗行业迅速发展的格局中&#xff0c;医院和诊所越来越依赖诸如医疗平板和移动工作站等移动设备。这些设备在提高工作效率和提供卓越的患者护理方面发挥着关键作用。然而&#xff0c;随着它们的广泛使用&#xff0c;也带来了一系列挑战&#xff0c;例如在不同地点确保数…...

前端性能优化之同时插入100000个元素页面不卡顿

面试官&#xff1a;同时插入100000个元素怎么让页面不卡顿 优化前写法 首先我们来看下面的一段&#xff0c;点击按钮后&#xff0c;循环100000次&#xff0c;每次都插入一个元素&#xff0c;并且插入区域上方还有一个小球在滚动&#xff0c;在插入的过程中我们可以观察小球的…...

PHP之Cookie和Session

在你有别的编程语言的基础下&#xff0c;你想学习PHP&#xff0c;可能要了解的一些关于cookie和session的信息。 Cookie 参数信息 setcookie(name,value,expire, path, domain); name : Cookie的名称。 value : Cookie的值。 expire : Cookie的过期时间&#xff0c;可以是一…...

vscode 配置debug的环境

vscode配置debug的环境 配置好python解释器&#xff0c; ctrl shift P 就可以指定python了。 当前环境下建立 .vscode 文件夹新建 .vscode/launch.json 文件文件的配置如下 {"version": "0.2.0","configurations": [{"name": &qu…...

socket基础学习以及java搭建

在 Java 中&#xff0c;Socket 编程用于实现网络通信。Java 提供了丰富的网络 API&#xff0c;使得通过 Socket 进行通信变得简单和高效。Java 的 Socket 编程常见于客户端-服务器应用中&#xff0c;比如聊天程序、文件传输工具等。 1. Socket 基本概念 Socket 编程的基本概念…...

Exoplayer2源码编译FFmpeg拓展模块实现音频软解码

在前面文章最新版本Exoplayer扩展FFmpeg音频软解码保姆级教程中介绍了最新版本的Exoplayer(androidx.Media3)编译FFmpeg模块的流程&#xff0c;有就是media3版本的explayer最低支持的sdk版本是21也就是Android5.x,但是市面上还是有很多IOT设备是很老的android4.4(sdk19)的&…...

Docker安装嵌入框架Text Embeddings Inference (TEI)

Docker安装Text Embeddings Inference (TEI) 1 简单介绍 文本嵌入推理&#xff08;TEI&#xff0c;Text Embeddings Inference &#xff09;是HuggingFace研发的一个用于部署和服务开源文本嵌入和序列分类模型的工具包。TEI兼容OpenAI的嵌入模型的规范。 # 官网地址 https:/…...

使用easyocr、PyPDF2对图像及PDF文档进行识别

一、概述 本 Python 脚本的主要功能是对当前目录及其子目录下的图片和 PDF 文件进行光学字符识别&#xff08;OCR&#xff09;处理。它使用 easyocr 库处理图片中的文字&#xff0c;使用 PyPDF2 库提取 PDF 文件中的文本&#xff0c;并将处理结果保存为文本文件。同时&#xff…...

MAUI(C#)安卓开发起步

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

oracle decode

1. 基本语法 DECODE(expression, search1, result1, search2, result2, ..., default_result) expression &#xff1a;需要比较的表达式或列。search1, search2, ... &#xff1a;要匹配的值。result1, result2, ... &#xff1a;当 expression 等于 search 时返回的结果。def…...