第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
由于官方没有公布题目的数据, 所以代码仅供参考
1. 移动距离
题目链接:P12130 [蓝桥杯 2025 省 B] 移动距离 - 洛谷
【问题描述】
小明初始在二维平面的原点,他想前往坐标 (233, 666)。在移动过程中,他
只能采用以下两种移动方式,并且这两种移动方式可以交替、不限次数地使用:
1. 水平向右移动,即沿着 x 轴正方向移动一定的距离。
2. 沿着一个圆心在原点 (0, 0)、以他当前位置到原点的距离为半径的圆的圆
周移动,移动方向不限(即顺时针或逆时针移动不限)。
在这种条件下,他到达目的地最少移动多少单位距离?
你只需要输出答案四舍五入到整数的结果。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解题思路:
1.目标点(233,666) tan a=666/233, a=arctan(666/233)=70.67, r=sqrt(233^2+666^2)=705.05
2.题目中说到只能沿x轴方向移动和沿r进行顺/逆时针旋转, 沿x轴方向移动改变r/角度a, 沿r进行顺/逆时针旋转只改变角度a
3.先沿x轴直线移动, 将r增加到目标r=705.05 ->(移动到点(705.05,0)), 沿半径为705.05的逆时针转动, 角度a变为70.67
4. 直线移动距离 x=705.05, 弧度y=r*a=705.05*70.67*(π/180)=705.05*1.233=869.67
所以总距离为 x+y=705.05+869.67=1574,72, 四舍五入为1575, 有误差, 代码跑的话是1576
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {double x = 233, y = 666;double r = sqrt(x * x + y * y);double t = atan2(y, x); double d= r + r * t;cout << round(d) << endl;return 0;
}
2. 客流量上限
题目链接:P12131 [蓝桥杯 2025 省 B] 客流量上限 - 洛谷
【问题描述】
一家连锁旅馆在全国拥有 2025 个分店,分别编号为 1 至 2025。随着节日
临近,总部决定为每家分店设定每日客流量的上限,分别记作 A1, A2,. . . , A2025。
这些上限并非随意分配,而是需要满足以下约束条件:
1. A1, A2,. . . , A2025 必须是 1 至 2025 的一个排列,即每个 Ai 均是 1 至 2025
之间的整数,且所有 Ai 互不相同。
2. 对于任意分店 i 和 j(1 ≤ i, j ≤ 2025,i 可等于 j),它们的客流量上限 Ai
和 Aj 的乘积不得超过 i × j +2025。
这些约束旨在平衡各分店客流压力,确保服务质量和运营稳定性。
现在,请你计算这样的分配方案究竟有多少种。由于答案可能很大,你只
需输出其对 109 +7 取余后的结果即可。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
暂时没有啥思路, 我用全排列写, n一超过10/11就超时, 代码如下
#include <bits/stdc++.h>
using namespace std;int main() {int n;cin >> n;vector<int> p(n);iota(p.begin(), p.end(), 1); //生成1-n的数int count = 0;do {bool f = true;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (p[i] * p[j] > (i + 1) * (j + 1) + n) {f= false;break;}}if (!f) break;}if (f) count++;} while (next_permutation(p.begin(), p.end()));cout << count << endl;return 0;
}
3. 可分解的正整数
题目链接:P12132 [蓝桥杯 2025 省 B] 可分解的正整数 - 洛谷
【问题描述】
定义一种特殊的整数序列,这种序列由连续递增的整数组成,并满足以下
条件:
1. 序列长度至少为 3。
2. 序列中的数字是连续递增的整数(即相邻元素之差为 1),可以包括正整
数、负整数或 0。
例如,[1, 2, 3]、[4, 5, 6, 7] 和 [−1, 0, 1] 是符合条件的序列,而 [1, 2](长度不
足)和 [1, 2, 4](不连续)不符合要求。
现给定一组包含 N 个正整数的数据 A1, A2,. . . , AN。如果某个 Ai 能够表示
为符合上述条件的连续整数序列中所有元素的和,则称 Ai 是可分解的。
请你统计这组数据中可分解的正整数的数量。
【输入格式】
输入的第一行包含一个正整数 N,表示数据的个数。
第二行包含 N 个正整数 A1, A2,. . . , AN,表示需要判断是否可分解的正整数
序列。
【输出格式】
输出一个整数,表示给定数据中可分解的正整数的数量。
数据范围:
对于 30% 的评测用例,1 ≤ N ≤ 100,1 ≤ Ai ≤ 100。
对于 100% 的评测用例,1 ≤ N ≤ 105,1 ≤ Ai ≤ 109。
解题思路:举个例子, A1=3 -> 可以分解成0+1+2; A2=6 -> 可以分解成1+2+3 A3=2 -> 可以分解成-1+0+1+2....
通解:就是任意一个数x, 都可以写成-2+-1+0+1+2+x... 这个排列, 除了1是不行, 其他>=1数都可以
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {int n, count = 0;cin >> n;for (int i = 0; i < n; ++i) {int x;cin >> x;if (x!=1) count++;}cout << count << endl;return 0;
}
//3 -> 0 1 2
//6 -> 1 2 3
//15 -> 4 5 6
//2 -> -1 0 1 2
//1 -> -1 0 1 不可以
//0 -> Ai>=1
4. 产值调整
题目链接:P12133 [蓝桥杯 2025 省 B] 产值调整 - 洛谷
【问题描述】
偏远的小镇上,三兄弟共同经营着一家小型矿业公司 “兄弟矿业”。公司旗
下有三座矿山:金矿、银矿和铜矿,它们的初始产值分别用非负整数 A、B 和
C 表示。这些矿山的产出是小镇经济的核心,支撑着三兄弟和许多矿工家庭的
生计。
然而,各矿山的产值波动剧烈,有时金矿收益高而银矿、铜矿低迷,有时
则相反。这种不稳定性让公司收入难以预测,也常引发兄弟间的争执。为了稳
定经营,三兄弟设计了一个公平的产值调整策略,每年执行一次,每次调整时,
将根据当前的产值 A、B、C,计算新产值:
1. 金矿新产值 A′ = ⌊ B+2C ⌋;
2. 银矿新产值 B′ = ⌊A+2C ⌋;
3. 铜矿新产值 C′ = ⌊A+2 B ⌋。
其中,⌊⌋ 表示向下取整。例如,⌊3.7⌋ =3,⌊5.2⌋ =5。
计算出 A′、B′、C′ 后,同时更新:A 变为 A′,B 变为 B′,C 变为 C′,作
为下一年调整的基础。
三兄弟认为这个方法能平衡产值波动,于是计划连续执行 K 次调整。现
在,请你帮他们计算,经过 K 次调整后,金矿、银矿和铜矿的产值分别是多
少。
【输入格式】
输入的第一行包含一个整数 T ,表示测试用例的数量。
接下来的 T 行,每行包含四个整数 A,B,C,K,分别表示金矿、银矿和
铜矿的初始产值,以及需要执行的调整次数。【输出格式】
对于每个测试用例,输出一行,包含三个整数,表示经过 K 次调整后金
矿、银矿和铜矿的产值,用空格分隔。
【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ T ≤ 100,1 ≤ A, B, C, K ≤ 105。
对于 100% 的评测用例,1 ≤ T ≤ 105,1 ≤ A, B, C, K ≤ 109。
解题思路:题目中让你怎么调整, 你就怎么调整,eg: A1->(B+2*C)/2
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {int T;cin >> T;while (T--) {int a, b, c;long long k;cin >> a >> b >> c >> k;for (long long i = 0; i < k; ++i) {int na = (b + c) / 2;int nb = (a + c) / 2;int nc = (a + b) / 2;if (na == a && nb == b && nc == c) {break;}a = na;b = nb;c = nc;}cout << a << " " << b << " " << c << endl;}return 0;
}
5.画展布置
题目链接:P12134 [蓝桥杯 2025 省 B] 画展布置 - 洛谷
画展策展人小蓝和助理小桥为即将举办的画展准备了 N 幅画作,其艺术价
值分别为 A1, A2,. . . , AN。他们需要从这 N 幅画中挑选 M 幅,并按照一定顺序
布置在展厅的 M 个位置上。如果随意挑选和排列,艺术价值的变化可能会过于
突兀,导致观众的观展体验不够流畅。
为了优化布置,他们查阅了《画展布置指南》。指南指出,理想的画展应使
观众在欣赏画作时,艺术价值的过渡尽量平缓。指南建议,选择并排列 M 幅
画,应使艺术价值的变化程度通过一个数值 L 来衡量,且该值越小越好。数值
L 的定义为:
L =M∑−1i=1|B2i+1 − B2i |
其中 Bi 表示展厅第 i 个位置上画作的艺术价值。
现在,他们希望通过精心挑选和排列这 M 幅画作,使 L 达到最小值,以
提升画展的整体协调性。请你帮他们计算出这个最小值是多少。
【输入格式】
输入共两行。
第一行包含两个正整数 N 和 M,分别表示画作的总数和需要挑选的画作数
量。
第二行包含 N 个正整数 A1, A2,. . . , AN,表示每幅画作的艺术价值。
【输出格式】
输出一个整数,表示 L 的最小值。数据范围:
对于 40% 的评测用例,2 ≤ M ≤ N ≤ 103,1 ≤ Ai ≤ 103。
对于 100% 的评测用例,2 ≤ M ≤ N ≤ 105,1 ≤ Ai ≤ 105。
1.题意解释从N副画中选出M副画, 然后计算出M对应的L, 输出L的最小值
题目中说的是尽量让M个数的平方差的绝对值之和的最小值
2. 先排序不就得了, 例如, 1 7 8 9比1 9 8 7更平滑啊
3. 平方后选连续的元素更优,
所以我们只需要在[平方 + 排序]后的序列上找一段长度为
M
的子序列,使得相邻差的绝对值之和最小,这不就是滑窗吗, 去除最left侧的元素, 增加下一个元素,同时维护一个和最小值
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {int N, M;cin >> N >> M;vector<long long> A(N);for (int i = 0; i < N; ++i) {int x;cin >> x;A[i] = 1LL * x * x; }sort(A.begin(), A.end());vector<long long> diff(N - 1); for (int i = 0; i < N - 1; i++) {diff[i] = abs(A[i + 1] - A[i]);}long long L = 0;for (int i = 0; i < M - 1; i++) {L += diff[i];}long long minL = L;for (int i = 1; i <= N - M; i++) {L = L - diff[i - 1] + diff[i + M - 2];minL = min(minL, L);}cout << minL << endl;return 0;
}
6. 水质检测
题目链接:P12135 [蓝桥杯 2025 省 B] 水质检测 - 洛谷
【问题描述】
小明需要在一条 2 × n 的河床上铺设水质检测器。在他铺设之前,河床上已
经存在一些检测器。如果两个检测器上下或者左右相邻,那么这两个检测器就
是互相连通的。连通具有传递性,即如果 A 和 B 连通,B 和 C 连通,那么 A
和 C 也连通。现在他需要在河床上增加铺设一些检测器使得所有的检测器都互
相连通。他想知道最少需要增加铺设多少个检测器?
【输入格式】
输入共两行,表示一个 2 × n 的河床。
每行一个长度为 n 的字符串,仅包含 ‘#’ 和 ‘.’,其中 ‘#’ 表示已经存在的
检测器,‘.’ 表示空白。
【输出格式】
输出共 1 行,一个整数表示答案。
让字符串a和字符串b进行连通
#include <bits/stdc++.h>
using namespace std;
int main(){string a, b;cin >> a >> b;int ans = 0;int c = -1, d = -1;for(int i = 0; i < a.size(); i++) {if(a[i] == '.' && b[i] == '.') continue;if(c != -1) {ans += i - c - 1;}if(a[i] == '#' && b[i] == '#') {d = 3;} else if(a[i] == '#' && b[i] == '.') {if(d == 2) {ans++;d = 3;} else {d = 1;}} else if(a[i] == '.' && b[i] == '#') {if(d == 1) {ans++;d = 3;} else {d = 2;}}c = i;}cout << ans << endl;
}
7. 生产车间
题目链接:P12136 [蓝桥杯 2025 省 B] 生产车间 - 洛谷
【问题描述】
小明正在改造一个生产车间的生产流水线。这个车间共有 n 台设备,构成
以 1 为根结点的一棵树,结点 i 有权值 wi。其中叶节点的权值 wi 表示每单位时
间将产出 wi 单位的材料并送往父结点,根结点的权值 wi 表示每单位时间内能
打包多少单位成品,其他结点的权值 wi 表示每单位时间最多能加工 wi 单位的
材料并送往父结点。
由于当前生产线中某些结点存在产能不够的问题导致生产线无法正常运行,
即存在某些结点每单位时间收到的材料超过了当前结点的加工能力上限。小明
计划删除一些结点使得所有结点都能正常运行。他想知道删除一些结点后根结
点每单位时间内最多能打包多少单位的成品?
【输入格式】
输入共 n +1 行。
第一行为一个正整数 n。
第二行为 n 个由空格分开的正整数 w1, w2,..., wn。
后面 n − 1 行,每行两个整数表示树上的一条边连接的两个结点。
【输出格式】
输出共一行,一个整数代表答案。
如果你直接暴力dfs的话, 应该是能过掉不少的样例的, 但是要, 贪心选择能贡献最大但不超容量的子节点,我在洛谷测的时候过了百分70, 比赛的时候你写这个没问题, 尽量cheat更多的分,。下面我提供的是树形DP的优化代码。
#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> w;
vector<vector<int>> tree;
bitset<1001> dfs(int u, int parent) {bool isLeaf = true;for (int v : tree[u]) {if (v != parent) { isLeaf = false; break; }}if (isLeaf) {bitset<1001> B;B.reset();B[0] = 1;B[w[u]] = 1;return B;}int cap = w[u];bitset<1001> dp_child;dp_child.reset();dp_child[0] = 1;for (int v : tree[u]) {if (v == parent) continue;auto Bv = dfs(v, u);bitset<1001> next;next.reset();for (int x = Bv._Find_first(); x <= cap; x = Bv._Find_next(x)) {next |= (dp_child << x);}dp_child = next;}bitset<1001> Bu;Bu.reset();Bu[0] = 1;for (int x = dp_child._Find_first(); x <= cap; x = dp_child._Find_next(x)) {Bu[x] = 1; }return Bu;
}int main(){cin >> n;w.resize(n+1);for (int i = 1; i <= n; ++i) {cin >> w[i];}tree.resize(n+1, {});for (int i = 0; i < n-1; ++i) {int u,v;cin >> u >> v;tree[u].push_back(v);tree[v].push_back(u);}auto Broot = dfs(1, 0);int ans = 0;for (int x = Broot._Find_first(); x <= w[1]; x = Broot._Find_next(x)) {ans = x; }cout << ans << endl;return 0;
}
8. 装修报价
题目链接:P12137 [蓝桥杯 2025 省 B] 装修报价 - 洛谷
【问题描述】
老王计划装修房子,于是联系了一家装修公司。该公司有一套自动报价系
统,只需用户提供 N 项装修相关费用 A1, A2,. . . , AN,系统便会根据这些费用生
成最终的报价。
然而,当老王提交数据后,他发现这套系统的运作方式并不透明:系统只
会给出一个最终报价,而不会公开任何运算过程或中间步骤。
公司对此解释称,这套系统会依据某种内部算法,在每对相邻数字之间插
入 +(加法)、−(减法)或 ⊕(异或)运算符,并按照特定优先级规则计算结
果:异或运算优先级最高,其次是加减。但由于保密性,具体的运算符组合以
及中间过程都不会对外公开。
为了验证系统报价是否合理,老王决定模拟其运作方式,尝试每种可能的
运算符组合,计算出所有可能出现的结果的总和。如果最终报价明显超出这个
范围,他就有理由怀疑系统存在异常或误差。只是老王年事已高,手动计算颇
为吃力,便向你求助。
现在,请你帮老王算出所有可能的结果的总和。由于该总和可能很大,你
只需提供其对 10^9 +7 取余后的结果即可。
【输入格式】
第一行输入一个整数 N,表示装修相关费用的项数。
第二行输入 N 个非负整数 A1, A2,. . . , AN,表示各项费用。
【输出格式】
输出一个整数,表示所有可能的总和对 10^9 +7 取余后的结果。
异或和的优先级最高, 异或和在后面的, 有+AxorB/-AxorB 直接抵消了,所以对答案产生贡献的,只有一段前缀的异或, 因此我们枚举前缀异或的长度 i, 具体的代码如下。
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
long long qPow(long long a, long long b, long long p) {long long ans = 1;a %= p;while(b) {if(b & 1) ans = (ans * a) % p;b >>= 1;a = (a * a) % p;}return ans % p;
}
int main(){int n;cin >> n;int S = 0;int ans = 0;for(int i = 1, x; i <= n; i++) {cin >> x;S ^= x;if(i < n) {ans += S * 2 * qPow(3LL, n - i - 1, mod) % mod;} else {ans += S;}ans %= mod;}cout << ans << endl;return 0;
}
填空好难, 如果这篇文章流量大的话, 我会继续补充更详细的实现思路。
感谢大家的点赞和关注,你们的支持是我创作的动力!
相关文章:
第十六届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
由于官方没有公布题目的数据, 所以代码仅供参考 1. 移动距离 题目链接:P12130 [蓝桥杯 2025 省 B] 移动距离 - 洛谷 【问题描述】 小明初始在二维平面的原点,他想前往坐标 (233, 666)。在移动过程中,他 只能采用以下两种移动方式…...
《Nature Methods》新算法|MARBLE利用几何深度学习解释神经群体动力学
一、写在前面 本次分享的是2025年2月发布于《Nature Methods》的题为"MARBLE:interpretable representations of neural population dynamics using geometric deep learning"的文章。在神经科学和机器学习领域交汇的今天,我们不断探索如何从复杂的神经活…...
【力扣hot100题】(093)最长公共子序列
还算是挺简单的一题。 维护二维数组代表截至至两个字符串的某个位置,前面的最长公共子序列长度。 状态转移方程就是当两字符相等是,取俩位置前一个的值加一,否则就直接等于俩位置前一个值。 class Solution { public:int longestCommonSub…...
(打卡)794. 高精度除法
C: Python: aint(input()) bint(input()) print(a//b) print(a%b)...
网络5 TCP/IP 虚拟机桥接模式、NAT、仅主机模式
TCP/IP模型 用于局域网和广域网;多个协议;每一层呼叫下一层;四层;通用标准 TCP/IP模型 OSI七层模型 应用层 应用层 表示层 会话层 传输层 传输层 网络层 网络层 链路层 数据链路层 物理层 链路层:传数据帧࿰…...
GPU虚拟化技术在深度学习集群中的应用实践
一、深度学习集群的算力困境 某些985高校AI实验室曾面临典型算力管理难题:其配备的4台8卡A100服务器(总价值超300万元)实际利用率仅38%。学生提交的PyTorch任务常因GPU抢占导致训练中断,而部分研究组独占显卡却仅运行Jupyter Not…...
从零实现基于扩散模型的文本到视频生成系统:技术详解与Pytorch代码实现
本文详细介绍了基于扩散模型构建的文本到视频生成系统,展示了在MSRV-TT和Shutterstock视频标注数据集上训练的模型输出结果。以下是模型在不同提示词下的生成示例。 首先展示一些模型生成效果展示 提示词:“A person holding a camera”(训练…...
每天学一个 Linux 命令(14):cat
Linux 文件查看与合并命令:cat cat(全称 concatenate)是 Linux 中用于查看文件内容、合并文件或创建简单文件的基础命令。它操作简单但功能灵活,是日常文件处理的常用工具。 1. 命令作用 查看文件内容:直接输出文件内容到终端。合并文件:将多个文件内容合并输出或保存到…...
05--MQTT物联网协议
一、MQTT的概念 MQTT 协议快速入门 2025:基础知识和实用教程 | EMQ 1.MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它…...
免费下载 | 2025天津大学:智能制造与数字孪生技术:面向可持续制造方向发展
一、新一代智能制造模式下的思考 当代智能制造的发展阶段 智能制造定义:智能制造是基于新一代信息通信技术与先进制造技术深度融合,贯穿于设计、生产、管理、服务等制造活动的各个环节,具有自感知、自学习、自决策、自执行、自适应等功能的新…...
考研单词笔记 2025.04.12
aware a知道的,意识到的,警觉的 awareness n意识,了解,觉察 conscious a有意识的,意识到的,有意的,刻意的,神志清醒的,慎重的,关注的 unconscious a无意识…...
八股总结(Java)持续更新!
八股总结(java) ArrayList和LinkedList有什么区别 ArrayList底层是动态数组,LinkedList底层是双向链表;前者利于随机访问,后者利于头尾插入;前者内存连续分配,后者通过指针连接多块不连续的内存…...
SpringBoot3快速入门笔记
springboot3简介 SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用(说明:SpringBoot底层是Spring) 大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术 特性: ● 快速创建…...
vue3中,element-plus中el-input的v-model和value的用法示例
el-input的v-model,邦定响应式变量 <el-col :span"6"><el-form-item label"检验类别" prop"verifyType"><el-input v-model"applyAllInfo.applyBasicInfo.verifyTypeName" readonly /></el-form-item…...
python求π近似值
【问题描述】用公式π/4≈1-1/31/5-1/7..1/(2*N-1).求圆周率PI的近似值。 从键盘输入一个整数N值,利用上述公式计算出π的近似值,然后输出π值,保留小数后8位。 【样例输入】1000 【样例输出】3.14059265 def countpi(N):p0040nowid0for i i…...
Gerapy二次开发:搜索器组件设计开发与应用(Vue父子组件通信)
搜索器组件设计开发与应用 写在前面搜索器字段定义与样式设计具体实现components/Search.vuedeploy/Index.vue后端views.py运行效果总结欢迎加入Gerapy二次开发教程专栏! 本专栏专为新手开发者精心策划了一系列内容,旨在引领你深入探索Gerapy框架的二次迭代之旅。 本专栏将全…...
深入解析Python爬虫技术:从基础到实战的功能工具开发指南
一、引言:Python 爬虫技术的核心价值 在数据驱动的时代,网络爬虫作为获取公开数据的重要工具,正发挥着越来越关键的作用。Python 凭借其简洁的语法、丰富的生态工具以及强大的扩展性,成为爬虫开发的首选语言。根据 Stack Overflow 2024 年开发者调查,68% 的专业爬虫开发者…...
Python爬虫-爬取全球股市涨跌幅和涨跌额数据
前言 本文是该专栏的第52篇,后面会持续分享python爬虫干货知识,记得关注。 本文中,笔者将基于Python爬虫,实现批量采集全球股市行情(亚洲,美洲,欧非,其他等)的各股市“涨跌幅”以及“涨跌额”数据。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。…...
【NLP 59、大模型应用 —— BPE 算法】
你和生生不息的河流,生动了我人生中的美好瞬间 —— 25.4.11 一、词表的构造问题 为了nlp模型训练,词表(字表)是必要的 统计训练语料中的所有字符(或词)是一种做法,但是容易出现一些问题&…...
SQL基础入门:从CRUD到JOIN再到索引(通俗易懂版)
一、为什么需要SQL? 想象你在管理一个图书馆: 传统方法:手动记录每本书的位置、借阅者、归还日期SQL方法:用数据库系统自动管理,快速查询《Java编程思想》在哪个书架 SQL(Structured Query Language&…...
系统编程1(进程的概念与原理)
进程的概念与原理 计算机组成部分一般遵循冯诺依曼结构,也就是由控制器、运算器、存储器、输入设备、输出设备五个部分组成。 ⦁ 程序的编译 一般在编写出程序之后,并不能直接运行,而是需要把程序通过编译器进行编译,生成可执行…...
Git基础知识
Git基础知识 目录 一、Git简介 1.1 什么是Git?1.2 基本概念1.3 Git与其他版本控制系统的区别 二、Git安装与配置 2.1 安装Git2.2 基础配置2.3 高级配置2.4 多账户配置 三、基本操作 3.1 创建仓库3.2 基本工作流3.3 分支操作3.4 查看历史 四、高级操作 4.1 撤销修改…...
【Flink运行时架构】核心组件
在Flink的运行架构中,有两大比较重要的组件:作业管理器(JobManager)和任务管理器(TaskManager)。 Flink的作业提交与任务处理时的系统如下图所示。 其中,客户端并不是处理系统的一部分ÿ…...
【区块链安全 | 第四十篇】合约审计之delegatecall(二)
文章目录 漏洞代码代码分析攻击流程攻击代码前文重现修复建议审计思路 在阅读本文之前,请确保已先行阅读:【区块链安全 | 第三十九篇】合约审计之delegatecall(一) 漏洞代码 存在一漏洞代码如下: // 库合约…...
Redis实现分布式定时任务
设计思路 任务表示:每个任务通过一个特定格式的键来表示。键名可以包含任务ID等信息,值可以是任务的具体内容或指向任务详情的引用。过期机制:利用Redis的EXPIRE命令为任务设置过期时间,当到达设定的时间点时,Redis会…...
ERC20合约的基本调用
文章目录 ERC20合约的基本调用合约功能compile.js 代码读取文件 进行合约编译获取二进制对象导出对象 index.js 代码编译合约读取私钥设置收款账户构造 web3 对象获取账户地址获取 abi 和 bin创建合约交易部署合约构造转账交易验证转账后余额 测试项目目录执行查询 ERC20合约的…...
『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解
『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解 Pod 结构 每个 Pod 中都可以包含一个或者多个容器,这些容器可以分为两类 用户程序所在的容器,数量可多可少Pause 容器,这是每个 Pod 都会有的一个根容器,它的作用有两个 可…...
【React框架】什么是 Vite?如何使用vite自动生成react的目录?
什么是 Vite? Vite 是一个基于原生 ES Modules 开发的前端构建工具,由 Evan You(Vue 的作者)开发。它最大的特点包括: 极速冷启动:因为利用了浏览器原生的 ES Modules,所以在开发时无需等待整…...
JS实现文件点击或者拖拽上传
B站看到了渡一大师课的切片,自己实现了一下,做下记录 效果展示 分为上传前、上传中和上传后 实现 分为两步 界面交互网络请求 源码如下 upload.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset&q…...
【Vue #3】指令补充样式绑定
一、指令修饰符 Vue 的指令修饰符(Directive Modifiers)是 Vue 模板语法中的重要特性,它们以半角句号 . 开头,用于对指令的绑定行为进行特殊处理 修饰符作用如下: 简化事件处理(如阻止默认行为、停止冒泡…...
Vue.js组件安全工程化演进:从防御体系构建到安全性能融合
——百万级流量场景下的安全组件架构与源码级解决方案 文章目录 总起:安全工程化的组件革命 分论: 一、现存组件架构的七宗罪与安全改造路径 1.1 组件生态安全赤字现状 1.2 架构级安全缺陷深度剖析 1.3 性能与安全的死亡螺旋 二、百万级…...
LINUX基础 [二] - Linux常见指令
目录 💻前言 💻指令 🎮ls指令 🎮pwd指令 🎮whoami指令 🎮cd指令 🎮clear指令 🎮touch指令 🎮mkdir指令 🎮rmdir指令 🎮rm指令 &#…...
Linux进阶命令
目录 一、touch 1. 基本语法 2. 常用选项 二、which 1. 基本语法 2. 主要功能 3. 常用选项 三、find 1. 基本语法 2. 常用选项和表达式 四、more 1. 基本语法 2. 常用操作 3. 对比 more 和 less 五、grep 1. 基本语法 2. 常用选项 六、wc 1. 基本语法 2. 常…...
【Spring Boot 过滤器】
文章目录 前言一、什么是过滤器 Filter?二、Spring Boot 中使用 Filter 的方式1. 使用 Component 注解2. 使用 FilterRegistrationBean 显式注册 三、自定义过滤器示例1. 引入必要依赖2. 创建一个自定义 Filter3. 使用 FilterRegistrationBean 显式注册 四、多个 Fi…...
SPI通讯的软硬件NSS SSM SSI
学习自记: 1. NSS(Slave Select,从设备选择) 功能: NSS是SPI通信中用于选择从设备的信号线。主设备通过拉低NSS信号选中某个从设备,使其参与通信。通信结束后,主设备释放NSS&#…...
Java基础:集合List、Map、Set(超详细版)
集合体系概述 Collection常用方法 补充:addAll() Collection的遍历方式 迭代器 增强for(空集合可以,null不可以) lambda 集合对象存储对象原理 遍历方式的区别 List集合 特点、特有方法 遍历方式 (同上)…...
vue+leaflet 区域划分_反向遮罩层
leaflet 区域划分_遮罩层 geojson在线生成器网址:(https://datav.aliyun.com/portal/school/atlas/area_selector) 点击前往阿里云geojson生成器 效果图: 实现下面效果,只需要把addSateLayer函数的调用取消掉就好了. //添加遮罩层代码function addMask() {var latlngs;var fe…...
聊一聊原子操作和弱内存序
1、原子操作概念 在并发编程中,原子操作(Atomic Operation)是实现线程安全的基础机制之一。从宏观上看,原子操作是“不可中断”的单元,但若深入微观层面,其本质是由底层处理器提供的一组特殊指令来保证其原…...
免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制
摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对校园二手书销售平台等问题,对校…...
DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额
本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...
14.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--CAP
CAP 是一款专为 .NET 生态设计的开源框架,其核心目标是解决微服务中跨服务数据一致性问题。在分布式系统中,传统事务无法跨服务保证数据一致性,CAP 通过本地事务与消息记录绑定,再利用消息中间件(如 RabbitMQ、Kafka 等…...
智能资源管理机制-重传机制
一、发送端资源管理的核心机制 1. 滑动窗口(Sliding Window) 这是TCP协议的核心优化设计: 窗口动态滑动:发送端不需要保留所有已发送的分组,只需维护一个"发送窗口"窗口大小:由接收方通告的接…...
【Linux网络与网络编程】08.传输层协议 UDP
传输层协议负责将数据从发送端传输到接收端。 一、再谈端口号 端口号标识了一个主机上进行通信的不同的应用程序。在 TCP/IP 协议中,用 "源IP","源端口号","目的 IP","目的端口号"&…...
局域网下ESP32-S3 LED灯的UDP控制
在局域网下通过IP地址控制ESP32-S3上的LED,可以使用UDP或TCP协议。以下是一个基于UDP协议的完整示例,包括ESP32-S3的服务器代码和一个简单的Python客户端代码。 ESP32-S3 服务器代码 import socket import time import network import machineled Non…...
call、bind、apply
call、bind、apply它们三个都是函数的方法,都可以用于改变this的指向问题。 var person "liangxiao" let obj {name:"张三",say:function() {console.log(this.name);} }obj.say(); setTimeout(function() {obj.say(); },1000) obj.say()打…...
Redis 哨兵模式 搭建
1 . 哨兵模式拓扑 与 简介 本文介绍如何搭建 单主双从 多哨兵模式的搭建 哨兵有12个作用 。通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。 当哨兵监测到master宕机,会自动将slave切换成master,然后通过…...
客户端负载均衡与服务器端负载均衡详解
客户端负载均衡与服务器端负载均衡详解 1. 客户端负载均衡(Client-Side Load Balancing) 核心概念 定义:负载均衡逻辑在客户端实现,客户端主动选择目标服务实例。典型场景:微服务内部调用(如Spring Cloud…...
Ningx负载均衡
Ningx负载均衡 upstream(上游)配置负载均衡1、weight(加权轮询)2、ip_hash(负载均衡)3、url hash负载均衡4、least_conn(最小连接负载均衡) upstream(上游)配置负载均衡 Nginx负载均衡 参考: nginx从安装…...
头歌软件工程导论UML画图题(基于starUML)
一.结构化分析方法-数据流图 本关卡需要画图的一共有5关,直接将此图画好每关提交一次即可,以下的所有图均以此方法提交 二.面向对象分析之用例图 三.面向对象分析之类图 注意此处创建Class之后,双击Class出现以下选项 点击相应的选项创建属性…...
智能车摄像头开源—9 动态权、模糊PID、速度决策、路径优化
目录 一、前言 二、动态权 1.概述 2.偏差值加动态权 三、模糊PID 四、速度决策 1.曲率计算 2.速度拟合 3.速度控制 五、路径 六、国赛视频 一、前言 在前中期通过识别直道、弯道等元素可进行加减速操作实现速度的控制,可进一步缩减一圈的运行速度ÿ…...