【题解 | 分享】2023年十四届蓝桥杯国赛(Java B组)

互质

互质

答案:640720414

参考:

public class Main {static int mod = 1000000007;public static void main(String[] args) {long sum = power(2023, 2023);long p1 = ((sum % mod) * power(  7,  mod - 2)) % mod;long p2 = ((sum % mod) * power( 17,  mod - 2)) % mod;long p3 = ((sum % mod) * power(7*17, mod - 2)) % mod;long ans = (sum - p1 - p2 + p3 + mod + mod) % mod;System.out.println(ans);}static long power(long a, long p) { // 乘法快速幂long ans = 1;a %= mod;while (p != 0) {if ((p & 1) == 1) {ans = (ans * a) % mod;}a = (a * a) % mod;p >>= 1;}return ans;}
}

解题思路

我们知道,如果两个数互质,那么它们的最大公约数为1,我们需要找出在 [ 1 , 202 3 2023 ] [1, 2023^{2023}] [1,20232023] 范围内与 2023 2023 2023 互质的数的数量。

通过将 2023 2023 2023 分解质因子,发现是 7 7 7 17 17 17,所以在 [ 1 , 202 3 2023 ] [1, 2023^{2023}] [1,20232023] 范围内,与 2023 2023 2023 不互质的数,要么是 7 7 7 的倍数,要么是 17 17 17 的倍数,要么是 7 7 7 17 17 17 的公倍数。

因此,我们只需先计算所有数的数量( 202 3 2023 2023^{2023} 20232023),然后减去 7 7 7 的倍数、 17 17 17的倍数的数量以及 7 7 7 17 17 17 的公倍数。但需要注意,在减去 7 7 7的倍数和 17 17 17的倍数的数量时,我们实际上减去了两次 7 7 7 17 17 17的公倍数的数量,因为 7 7 7 17 17 17的公倍数既是 7 7 7的倍数,也是 17 17 17的倍数。因此在实际计算中,我们需要再加上一次7和17的公倍数的数量,以抵消这个重复计算的部分。

这也是很浅的"容斥原理",一分析就明白了。

另外,在实际编码中,我们可以:

  • 利用乘法快速幂来加速计算 a b a^b ab
  • 在计算有多少个数是 7 的倍数时,我们使用的是除法,而题目要求计算结果对 1000000007 1000000007 1000000007 取模,对于除法 (a / b) % mod来说,取模操作比较特殊,需要先求出逆元,我们使用power(b, mod - 2) 可以计算 b在模 mod 下的逆元。此时 (a / b) % mod 可转化为 ((a % mod) * (power(b, mod - 2))) % mod
  • 最终计算答案时,之所以要加上两次 mod,是因为要处理减法取模可能出现的负数结果。

逆元

逆元

答案:1307261675

这道题也不难,直接模拟求解就行,只不过一个个数去求逆元太慢了,下面展示如何加速求解 1 1 1 ~ n n n 区间内每个数的逆元,套用递推公式即可。

参考:

public class Main {static int n = 233333333;static int[] inv = new int[n+1];static final int MOD = 2146516019;public static void main(String[] args) {// 初始化:连续数字逆元的线性递推inv[1] = 1;for (int i = 2; i <= n; i++) {// 核心公式,不用纠结为什么,会用就行(原理是基于费马小定理和欧几里得算法)inv[i] = (int) (MOD - (long) inv[MOD % i] * (MOD / i) % MOD);}// 计算答案long ans = inv[1];for (int i = 2; i <= n; i++) {ans = (ans ^ inv[i]);}System.out.println(ans);}
}

连续数字逆元的线性递推是一种高效计算模 p p p 下每个数逆元的方法。

在模 p p p 意义下,我们可以使用以下公式来计算 1 2 3 . . . n 1 ~~ 2 ~~ 3 ~~ ... ~~ n 1  2  3  ...  n 每个数的逆元:

inv[1] = 1
inv[i] = (int) (p - (long) inv[p % i] * (p / i) % p);

这个公式的推导基于费马小定理和欧几里得算法,其时间复杂度是 O ( n ) O(n) O(n) ,所以它非常高效的。

玩具

玩具

样例输入

2
2 2 3 4

样例输出

14

在这里插入图片描述
这道题,不知道为什么,一眼贪心,结果还真是。具体的,他们先把数列排个序,然后每次都拿最小的数和最大的数进行配对,相乘后累加答案,再去计算下一轮的结果,以此类推:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(bf);static PrintWriter out = new PrintWriter(System.out);public static void main(String[] args) throws IOException {in.nextToken();int n = (int)in.nval;n *= 2;long[] nums = new long[n];for(int i = 0; i<n; i++) {in.nextToken();nums[i] = (long)in.nval;}Arrays.sort(nums);int l = 0, r = n-1;long ans = 0;while(l < r) {ans += (nums[l++] * nums[r--]);}out.print(ans);out.flush();out.close();bf.close();}
}

不完整的算式

在这里插入图片描述

在这里插入图片描述

共四种情况,分类讨论即可,纯模拟。

参考:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static PrintWriter out = new PrintWriter(System.out);public static void main(String[] args) throws IOException {String line = bf.readLine(); // A op B = Cint n = line.length();int A = 0, B = 0;char[] str = line.toCharArray();if(str[n-1] == '?') { // A op B = ?int idx = 0;// 先收集Awhile(str[idx] >= '0' && str[idx] <= '9') {A = A * 10 + (str[idx] - '0');idx++;}// 收集opchar op = str[idx++];// 最后收集Bwhile(str[idx] >= '0' && str[idx] <= '9') {B = B * 10 + (str[idx] - '0');idx++;}int C = compute1(A, op, B);System.out.println(C);} else {String[] parts = line.split("=");int C = Integer.parseInt(parts[1]);String s = parts[0];int m = s.length();char op = ' ';if(s.charAt(0) == '?') { // ? op B = Cop = s.charAt(1);for(int i = 2; i<m; i++) {B = (B * 10) + (s.charAt(i) - '0');}A = compute2(B, op, C);System.out.println(A);} else if(s.charAt(m-1) == '?') { // A op ? = Cop = s.charAt(m-2);for(int i = 0; i<m-2; i++) {A = (A * 10) + (s.charAt(i) - '0');}B = compute3(A, op, C);System.out.println(B);				} else { // A ? B = CString[] temp = s.split("\\?");A = Integer.parseInt(temp[0]);B = Integer.parseInt(temp[1]);op = compute4(A, B, C);System.out.println(op);}}		}public static int compute1(int A, char op, int B) { // A op B = ?int ans = 0;switch (op) {case '+':ans = A + B;break;case '-':ans = A - B;break;case '*':ans = A * B;break;case '/':ans = A / B;break;}return ans;}public static int compute2(int B, char op, int C) { // ? op B = Cint A = 0;switch (op) {case '+':A = C - B;break;case '-':A = C + B;break;case '*':A = C / B;break;case '/':A = C * B;break;}return A;}public static int compute3(int A, char op, int C) { // A op ? = Cint B = 0;switch (op) {case '+':B = C - A;break;case '-':B = A - C;break;case '*':B = C / A;break;case '/':B = A / C;break;}return B;}public static char compute4(int A, int B, int C) { // A ? B = Cchar ans = ' ';if(A + B == C) {ans = '+';} else if(A - B == C) {ans = '-';} else if(A * B == C) {ans = '*';} else if(A / B == C) {ans = '/';}return ans;}
}

星球

在这里插入图片描述
思路

经典旅行商问题,可用状态压缩DP来求解。

状态压缩是动态规划的一个小技巧,一般应用在集合问题中。当DP的状态是一个集合时,把集合的组合或排列用一个二进制来表示,也就是用某个数的二进制位(0/1组合)来表示集合的一个子集,从而用二进制的位操作来处理DP状态。

参考

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(bf);static int n;static int MAXN = 18;static int x[] = new int[MAXN];static int y[] = new int[MAXN];static int z[] = new int[MAXN];static int w[] = new int[MAXN];static double dp[][] = new double[1 << MAXN][MAXN];public static void main(String[] args) throws IOException {// 输入数据n = nextInt();for (int i = 0; i < n; i++) {x[i] = nextInt();y[i] = nextInt();z[i] = nextInt();w[i] = nextInt();}// 初始化缓存表(用于记忆化搜索)for (int s = 0; s < (1 << n); s++) {for (int i = 0; i < n; i++) {dp[s][i] = -1;}}// 开始计算int end = (1 << n) - 1; // 进攻所有星球的最终集合状态,即全是1的状态(每个星球都进攻过了)double ans = Double.MAX_VALUE;for (int i = 0; i < n; i++) {// 尝试从每个星球出发,进攻所有星球所需的最少能量是多少?ans = Math.min(ans, f(1 << i, i, end));}System.out.printf("%.2f", ans);}/*** 记忆化搜索,也可以改为严格位置依赖的动态规划* * @param status 一个整型变量,表示当前的星球访问状态,我们关注其二进制位。如果为1,表示已经进攻过该星球,否则表示未进攻过。* @param idx    表示当前所在的星球的位置(范围从 0 到 n-1 )。* @param end    终止状态,即表示所有星球都被访问过的状态(所有比特位都为1)。* @return 返回从当前idx星球出发,进攻所有未访问过的星球,所需的最少能量。*/public static double f(int status, int idx, int end) {if (status == end) { // 已经访问了所有星球,到达终止状态return 0; }if (dp[status][idx] != -1) { // 缓存命中,直接返回return dp[status][idx];}double ans = Double.MAX_VALUE;for (int i = 0; i < n; i++) {// 如果 i 星球还没有被访问过,则尝试访问,并更新所需的最少能量if ((status & (1 << i)) == 0) {// status | (1 << i):将i星球添加到集合 status 中// dist(idx, i):从当前 idx 星球进攻 i 星球所需的能量ans = Math.min(ans, f(status | (1 << i), i, end) + dist(idx, i));}}// 加缓存dp[status][idx] = ans;return ans;}// 计算两点之间所需能量public static double dist(int v1, int v2) {double dx = Math.abs(x[v1] - x[v2]);double dy = Math.abs(y[v1] - y[v2]);double dz = Math.abs(z[v1] - z[v2]);return Math.sqrt(dx * dx + dy * dy + dz * dz) * w[v2];}public static int nextInt() throws IOException {in.nextToken();return (int) in.nval;}
}

序列

在这里插入图片描述
在这里插入图片描述
解题

这道题的解法也是通过观察得知,我们根据样例一的数据进行绘表:

在这里插入图片描述
我们发现,这个表格:

  • 1 行和第 1 列均是:首项为 1 ,公差为 1 的等差数列
  • 2 行和第 2 列均是:首项为 2 ,公差为 1 的等差数列
  • 3 行和第 3 列均是:首项为 3 ,公差为 3 的等差数列
  • i 行和第 i 列均是:首项为 i ,公差为 i 的等差数列

对于 a a a 序列中的每一个元素 a i a_i ai,我们需要在当前这一列(等差数列)中查看每一个数 b i b_i bi,判断 a i a_i ai 是否整除 b i b_i bi,即 b i % a i = 0 b_i ~ \% ~ a_i = 0 bi % ai=0

因此:

  • a 1 a_1 a1 整除 b 2 b_2 b2 b 4 b_4 b4 ,该列贡献为 2
  • a 2 a_2 a2 整除 b 1 b_1 b1 b 2 b_2 b2 b 3 b_3 b3 b 4 b_4 b4 ,该列的贡献为 4
  • a 3 a_3 a3 整除 b 1 b_1 b1 b 2 b_2 b2 b 3 b_3 b3 b 4 b_4 b4 ,该列的贡献为 4
  • a 4 a_4 a4 整除 b 1 b_1 b1 b 2 b_2 b2 b 3 b_3 b3 b 4 b_4 b4 ,该列的贡献为 4

最终答案为 2 + 4 + 4 + 4 = 14 2+4+4+4 = 14 2+4+4+4=14

那现在关键在于,如何判断并查出 a i a_i ai 在首项为 i i i,公差为 i i i 的等差数列中,整除了哪些数?

答案取决于 a i a_i ai i i i 的最小公倍数,我们记为 lcm(ai, i)。那么每一列对答案的贡献就是 (i*n)/lcm(ai,i),其中 i*n 用于求出当前这一列等差数列的末尾数值,用它去除以 a i a_i ai i i i 的最小公倍数,就能够得到符合条件的数目。

比如:

在这里插入图片描述

i = 1 i = 1 i=1,此时 a 1 a_1 a1 的值为 2 2 2 2 2 2 1 1 1 的最小公倍数为 2 2 2,等差数列的末尾元素为 4 4 4,那么该列对答案的贡献就是 4 / 2 = 2 4 / 2 = 2 4/2=2

在这里插入图片描述

i = 2 i = 2 i=2,此时 a 2 a_2 a2 的值为 2 2 2 2 2 2 2 2 2 的最小公倍数为 2 2 2,等差数列的末尾元素为 8 8 8,那么该列对答案的贡献就是 8 / 2 = 4 8 / 2 = 4 8/2=4

以此类推。

纯粹通过观察,得出结论。

参考

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.ArrayList;
import java.util.List;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(bf);static long n, ai, ans;public static void main(String[] args) throws IOException {n = nextLong();for(long i = 1; i<=n; i++) {ai = nextLong();ans += i * n / lcm(ai, i);}System.out.println(ans);}public static long lcm(long a, long b) {return a / gcd(a, b) * b;}public static long gcd(long a, long b) {return b == 0 ? a : gcd(b, a % b);}public static long nextLong() throws IOException {in.nextToken();return (long)in.nval;}
}

电动车

在这里插入图片描述

在这里插入图片描述
解题

求最小生成树中的最大单边权重:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;public class Main {public static int MAXN = 200001;public static int MAXM = 200001;public static int[] father = new int[MAXN];	// 并查集public static int[][] edges = new int[MAXM][3]; // u, v, wpublic static int n, m;public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));public static StreamTokenizer in = new StreamTokenizer(br);public static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws IOException {// 输入并初始化数据n = nextInt();for (int i = 1; i <= n; i++) {father[i] = i;}m = nextInt();for (int i = 0; i < m; i++) {edges[i][0] = nextInt();edges[i][1] = nextInt();edges[i][2] = nextInt();}// 根据边的权重排序,用于Kruskal算法求最小生成树Arrays.sort(edges, 0, m, (a, b) -> a[2] - b[2]);int ans = Integer.MIN_VALUE;int edgeCnt = 0;for (int i = 0, u, v, w; i < m; i++) {u = edges[i][0];v = edges[i][1];w = edges[i][2];if (union(u, v)) {	// 求生成最小树,并维护单次最大花费edgeCnt++;ans = Math.max(ans, w);}}out.println(edgeCnt == n-1 ? ans : -1);out.flush();out.close();br.close();}public static int find(int i) {if (i != father[i]) {father[i] = find(father[i]);}return father[i];}public static boolean union(int x, int y) {int fx = find(x);int fy = find(y);if (fx != fy) {father[fx] = fy;return true;} else {return false;}}public static int nextInt() throws IOException {in.nextToken();return (int)in.nval;}
}

游戏

在这里插入图片描述
在这里插入图片描述

思路:

对每个子序列求最大值和最小值的差值,并计算平均值:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(bf);static int n, k;static int MAXN = 100001;static int[] arr = new int[MAXN];public static void main(String[] args) throws IOException {n = nextInt();k = nextInt();for (int i = 0; i < n; i++) {arr[i] = nextInt();}long sum = 0;for (int i = 0, max, min; i < n-k+1; ++i) {max = Integer.MIN_VALUE;min = Integer.MAX_VALUE;for (int j = i; j < i+k; ++j) {max = Math.max(arr[j], max);min = Math.min(arr[j], min);}sum += (max - min);}double ans = (double) sum / (n-k+1);System.out.printf("%.2f\n", ans);}public static int nextInt() throws IOException {in.nextToken();return (int) in.nval;}
}

非对称二叉树

在这里插入图片描述
在这里插入图片描述

思路

根据题意,枚举并累加答案即可:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;public class Main {static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(bf);static int n, k, p1, p2, curHeight;static int MAXN = 37;static long[][] f = new long[MAXN][MAXN];static long ans = 0;public static void main(String[] args) throws IOException {n = nextInt();k = nextInt();compute();System.out.println(ans);}public static void compute() {f[0][0] = 1;f[1][1] = 1;// 遍历节点数for (int node = 2; node <= n; node++) {// 左子树的节点数为lCnts,右子树的节点数为rCntsfor (int lCnts = 0, rCnts; lCnts < node; lCnts++) {rCnts = node - lCnts - 1;// 左子树的高度为lHeight,右子树的高度为rHeight,for (int lHeight = 0; lHeight <= lCnts; lHeight++) {for (int rHeight = 0; rHeight <= rCnts; rHeight++) {p1 = Math.max(lHeight, rHeight);p2 = k * Math.min(lHeight, rHeight);if (p1 >= p2) {// 当前二叉树的高度curHeight = Math.max(lHeight, rHeight) + 1;// 有 node 个节点,高度为 curHeight 的非对称二叉树有多少个?f[node][curHeight] += f[lCnts][lHeight] * f[rCnts][rHeight];}}}}}// 有 n 个节点,高度为 1 的非对称二叉树有多少个?// 有 n 个节点,高度为 2 的非对称二叉树有多少个?// ...// 有 n 个节点,高度为 n 的非对称二叉树有多少个?for (int i = 1; i <= n; i++) {ans += f[n][i];}}public static int nextInt() throws IOException {in.nextToken();return (int) in.nval;}
}

数和游戏

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
样例输入

7 7
2 -1 -1 2 -1 -1 2 -1 -1 2 4 -1 2 14 -1 2 19 -1 2 11 -1
2 -1 -1 2 -1 -1 2 21 24 1 1 1 1
2 -1 -1 2 26 18 1 1 1 1 1
2 -1 12 1 1 2 -1 -1 2 -1 3 1 1
2 -1 16 1 1 2 17 -1 2 11 8 1 1
2 -1 28 1 1 1 1 1 2 -1 -1
2 -1 14 1 1 1 1 2 -1 -1 2 -1 -1

样例输出

_ _ _ _ _ _ _
_ _ _ 3 9 7 5
_ _ 6 1 5 4 2
_ 8 4 _ _ 2 1
_ 9 7 _ _ 5 3
_ 7 3 9 8 1 _
_ 2 1 8 3 _ _

在这里插入图片描述
思路

用状态压缩记录10个数的选取方案,每个方案选择的数的长度为len,总和则为sum,对于每个条目,枚举选择状压方案中的哪个数,消掉哪一位之后再进行递归调用,最后判断当前方案是否合法。

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

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

相关文章

【ZYNQ】SCU 与 GIC

在多 CPU 架构中&#xff0c;处理器之间可以对共享数据进行操作。Snoop control uint (SCU) 模块用于确保每个处理器都在最新的数据拷贝上运行&#xff0c;从而保持缓存一致性。通用中断控制器 Generic interrupt controller (GIC) 使用优先级的思想&#xff0c;管理 CPU 中断信…

Spring系统学习 - Spring入门

什么是Spring&#xff1f; Spring翻译过来就是春天的意思&#xff0c;字面意思&#xff0c;冠以Spring的意思就是想表示使用这个框架&#xff0c;代表程序员的春天来了&#xff0c;实际上就是让开发更加简单方便&#xff0c;实际上Spring确实做到了。 官网地址&#xff1a;ht…

【Mac】XMind for mac(XMind思维导图)v24.04.10311软件介绍和安装教程

软件介绍 XMind for Mac是一款功能强大的思维导图软件。它具有以下主要特点&#xff1a; 1.多样化的思维导图功能&#xff1a;XMind for Mac提供了丰富的思维导图编辑功能&#xff0c;用户可以创建各种类型的思维导图&#xff0c;包括组织结构图、逻辑图、时间轴图等&#xf…

fluent UI v9版本Dialog右上角x按钮聚焦问题解决

右上角x按钮聚焦效果展示 第一次点击不会聚焦&#xff0c;第二次或多次点击会出现这种情况。如果多个地方公用一个页面里&#xff0c;这个页面包含这个组件&#xff0c;那其它页面刚打开弹框就是聚焦状态&#xff0c;是个样式的问题。 解决&#xff1a; import * as React fr…

【Vue3】自定义组件directiveapp.use()

历史小剧场 崇祯很勤政&#xff0c;崇祯并非王国之君&#xff0c;弘光很昏庸&#xff0c;弘光活该倒霉&#xff0c;几百年来&#xff0c;我们都这样认为。 但我们之所以一直这样认为&#xff0c;只是因为有人这样告诉我们。 之所以有人这样告诉我们&#xff0c;是因为他们希望我…

比较与深浅克隆

1.比较 &#xff08;1&#xff09;Comparable接口&#xff1a;&#xff08;重写compareTo方法&#xff09; 由于它是一个接口&#xff0c;而且在这个接口中只有一个compareTo方法&#xff0c;所以所有实现该接口的类都需要重写。这个compareTo方法相当于制定一个比较标准&…

pyinstaller将py文件打包成exe

pyinstaller将py文件打包成exe 一、为什么需要将python文件打包成exe文件?二、具体操作步骤一、为什么需要将python文件打包成exe文件? python文件需要在python环境中运行,也就是需要安装python解释器。有时我们自己写的python程序需要分享给自己的朋友、同事或者合作伙伴,…

封装一个websocket,支持断网重连、心跳检测,拿来开箱即用

封装一个websocket&#xff0c;支持断网重连、心跳检测 代码封装 编写 WebSocketClient.js import { EventDispatcher } from ./dispatcherexport class WebSocketClient extends EventDispatcher {constructor(url) {console.log(url, urlurl)super()this.url url}// #soc…

STM32_FSMC_HAL(介绍)

FSMC&#xff08;Flexible Static Memory Controller&#xff09;是STM32微控制器中的一种内存控制器&#xff0c;它允许微控制器与外部存储器接口&#xff0c;如SRAM、NOR Flash、NAND Flash和PSRAM等。FSMC特别适用于需要高速数据交换和大量数据存储的应用场景。 典型应用&a…

react跨组件通信Context

案例&#xff1a;现在有个父-子-孙组件 需要进行组件通信 import { useState } from "react"; // 创建上下文 const CountContext React.createContext();//子组件 const SonComponent (props) > {return (<div><h2>子组件</h2><Grandson…

【机器学习】让大模型变得更聪明

文章目录 前言1. 理解大模型的局限性1.1 理解力的挑战1.2 泛化能力的挑战1.3 适应性的挑战 2. 算法创新&#xff1a;提高模型学习和推理能力2.1 自监督学习2.2 强化学习2.3 联邦学习 3. 数据质量与多样性&#xff1a;增强模型的泛化能力3.1 高质量数据的获取3.2 数据多样性的重…

#1 深度优先搜索

深搜思想 DFS其实是针对图论的一种搜索算法&#xff0c;由一个节点出发&#xff0c;不撞南墙不回头式的遍历所有的节点。 如先遍历1&#xff0c;沿&#xff08;1,2&#xff09;遍历2&#xff0c;再沿&#xff08;2,4&#xff09;遍历4&#xff0c;撞南墙&#xff08;边界条件…

XSS另类攻击(四)kali系统beef-xss安装和使用

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 1、环境说明 kali系统&#xff0c;ip&#xff1a;192.1…

k8s的ci/cd实践之旅

书接上回k8s集群搭建完毕&#xff0c;来使用它强大的扩缩容能力帮我们进行应用的持续集成和持续部署&#xff0c;整体的机器规划如下&#xff1a; 1.192.168.8.156 搭建gitlab私服 docker pull gitlab/gitlab-ce:latest docker run --detach --hostname 192.168.8.156 --publ…

SAP 生产订单批量报工(代码分享)

最近公司一直在对成本这块的业务进行梳理,影响比较大的就是生产这块的报工,经常会要求要批量的冲销报工,然后在继续报工,来调整生产订单的实际工时,前面的博客中已经给大家分享了批量冲销生产订单的代码, 下面给大家分享一下生产订单批量报工的代码 首先流程制造和离散制…

【算法】过桥

✨题目链接&#xff1a; 过桥 ✨题目描述 ✨输入描述: 第一行一个数n(2≤n≤2000) 接下来一行n个数a[i](1≤|a[i]|≤2000)表示浮块上的数字 ✨输出描述: 输出一行&#xff0c;表示对应的答案 ✨示例1 &#x1f4cd;输入 4 2 2 -1 2 &#x1f4cd;输出 2 &#x1f4cd;说明 1…

HNCTF 2024 ez_pecp 冰蝎+CS流量分析

考点:冰蝎webshell流量分析CS4.x流量解密 给了两个 流量包 第一个 ctf1.pcapng 查看其HTTP请求 而在CS中流量特征是基于tls协议 http-beacon 通信中&#xff0c;默认使用 GET 方法向 /dpixel 、/__utm.gif 、/pixel.gif 等地址发起请求&#xff0c;而且下发指令的时候会请求 …

如何使用浔川AI翻译机?——浔川AI社

1 前言 对于“如何使用浔川AI翻译机&#xff1f;”这个问题&#xff0c;我们官方 总结出以下结论&#xff1a; 首先&#xff1a; 复制以下代码&#xff1a; # -*- coding: utf-8 -*- import tkinter as tk import tkinter.messagebox import pickle import random# 窗口 wi…

Jmeter压测中遇到的问题汇总

Jmeter使用过程问题总结 一、某个请求的请求体中有中文字段&#xff0c;执行后该请求无法成功 解决方法&#xff1a;在取样器的内容编码处加上UTF-8 二、遇到接口请求后报401&#xff0c;请求未授权&#xff08;或者信息头管理器只写了cookie请求不成功&#xff09; 解决方…

记录深度学习GPU配置,下载CUDA与cuDnn,安装tensorflow

目标下载: cuda 11.0.1_451.22 win10.exe cudnn-11.0-windows-x64-v8.0.2.39.zip Anaconda的安装请看别的博主的,这里不再赘述 看看自己电脑的cuda 方法一:打开英伟达面板查看 方法二:使用命令行 随便找个文件夹,在顶部路径输入"cmd" 输入下面命令 nvidia-smi 我…