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

2024蓝桥杯省赛C/C++大学B组 题解

文章目录

  • 2024蓝桥杯省赛C/C++大学B组
    • A 握手问题(5分)
    • B 小球反弹(5分)
    • C 好数(10分)
    • D R 格式(10分)
    • E 宝石组合(15分)
    • F 数字接龙(15分)
    • G 爬山(20分)
    • H 拔河(20分)

2024蓝桥杯省赛C/C++大学B组

A 握手问题(5分)

小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 7 个人,这 7 人彼此之间没有进行握手 (但这 7 人与除这 7 人以外的所有人进行了握手)。请问这些人之间一共进行了多少次握手?

注意 A 和 B 握手的同时也意味着 B 和 A 握手了,所以算作是一次握手。

【分析】最后答案为 1204,两种思考方式

  • 有 43 人两两握手,7人会和这 43人握手,所以答案为 C 43 2 + 7 × 43 C_{43}^2 + 7\times 43 C432+7×43
  • 用 50 个人握手的总方案数,减去 7 个人彼此没有握手的方案数,所以答案为 C 50 2 − C 7 2 C_{50}^2 - C_7^2 C502C72

B 小球反弹(5分)

有一长方形,长为 343720 单位长度,宽为 233333 单位长度。 在其内部左上角顶点有一小球 (无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为 dx:dy=15:17。 小球碰到长方形的边框时会发生反弹,每次反弹的入射角与反射角相等,因此小球会改变方向且保持速率不变(如果小球刚好射向角落,则按入射方向原路返回)。从小球出发到其第一次回到左上角顶点这段时间里,小球运动的路程为多少单位长度?答案四舍五入保留两位小数。

在这里插入图片描述

【分析】画图分析,每次反射实际上可以转换为沿着该反射边的对称变化,通过推导可以知道 横纵轴分别需要的方格数量,由于求第一次反射的答案,所以需要约分,又因为需要反射到起点,所以计算的结果需要 × 2 \times 2 ×2, 最后答案为 1100325199.77

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 5, INF = 0x3f3f3f3f;
const ll M = 1e9 + 7;ll gcd(ll a,ll b){return b? gcd(b, a%b) : a;
}
int main(){ll dx= 15, dy=17;ll a=343720, b=233333;ll n = dx * b, m = dy *a;ll d = gcd(n, m);n /= d, m /= d;double x = a*n, y = b*m;double s = 2*sqrt(x*x + y*y);cout<<fixed<<setprecision(4)<<s<<endl;return 0; 
}

C 好数(10分)

一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯ ) 上的数字是偶数,我们就称之为 “好数”。

给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。

【分析】 循环枚举 1 到 N,对每个数判断是不是好数即可。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 5, INF = 0x3f3f3f3f;bool check(int n) {int t = n, f = 1;while (t) {int x = t % 10;if (x % 2 != f) return 0;t /= 10, f = !f;}return 1;
}
int main() {int n, ans = 0; cin >> n;for (int i = 1; i <= n; i++)  ans += check(i);cout << ans << endl;return 0;
}

D R 格式(10分)

给定一个整数 n,一个大于0的浮点数d,将 d 转换为 R 格式整数的做法是:将浮点数乘以 2 n 2^n 2n,然后四舍五入到最接近的整数。

  • 对于 50 % 50\% 50% 的数据:$1\le n\le 10,1\le $ 将d视为字符串时的长度 ≤ 15 \le 15 15
  • 对于 100 % 100\% 100% 的数据:$1\le n\le 1000,1\le $ 将d视为字符串时的长度 ≤ 1024 \le 1024 1024;保证d是小数,即包含小数点。

【分析】 d = r o u n d ( d ∗ 2 n ) d=round(d*2^n) d=round(d2n),对于小数据可以直接用公式计算,但是对于较大数据发现需要使用高精度乘以低精度,为了使用整数高精度可以将 d = d × 1 0 x d=d\times 10^x d=d×10x 转为整数,之后计算的结果除以 1 0 x 10^x 10x

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 5, INF = 0x3f3f3f3f;int main1(){// score: 50%int n; double d; cin>>n>>d;// ll s = round(d * pow(2.0, n));ll s = d * pow(2.0, n) + 0.5; // 四舍五入cout<<s<<endl;    return 0; 
}
vector<int> mul(vector<int>&a, int b){vector<int> c; int t=0;for(int i=0; i<a.size()||t; i++){if(i<a.size()) t += a[i]*b;c.push_back(t%10);t/=10;}while(c.size()>1 && c.back()==0) c.pop_back();return c;
}
int main(){int n; string d; cin>>n>>d;int id = d.find('.');int x = d.size() - id - 1;d.erase(id, 1);// d = d * 10 ^ xvector<int> a;for (auto u : d) a.push_back(u - '0');reverse(a.begin(), a.end());// 初始反转,后续就一直是反的for(int i=1; i<=n; i++) a = mul(a, 2);string ans = "";a[x] += a[x - 1] >= 5; // 四舍五入for (int i = x, t = 0; i < a.size() || t; i++) {if (i < a.size()) t += a[i];ans += t % 10 + '0';t /= 10;}reverse(ans.begin(), ans.end());cout << ans << endl;return 0;
}

E 宝石组合(15分)

小蓝共找到了 N 枚宝石,第 i i i 枚宝石的“闪亮度”属性值为 H i H_i Hi。小蓝将会从这 N 枚宝石中选出三枚进行组合,组合之后的精美程度 S 可以用以下公式来衡量:

S = H a H b H c × L C M ( H a , H b , H c ) L C M ( H a , H b ) × L C M ( H a , H c ) × L C M ( H b , H c ) S = H_a H_b H_c \times \frac{LCM(H_a, H_b, H_c)}{LCM(H_a, H_b) \times LCM(H_a, H_c) \times LCM(H_b, H_c)} S=HaHbHc×LCM(Ha,Hb)×LCM(Ha,Hc)×LCM(Hb,Hc)LCM(Ha,Hb,Hc)

其中 LCM 表示的是最小公倍数函数。小蓝想要使得三枚宝石组合后的精美程度 S 尽可能的高,请你帮他找出精美程度最高的方案。
如果存在多个方案 S 值相同,优先选择按照 H H H 值升序排列后字典序最小的方案。

  • 对于 30% 的数据: 3 ≤ N ≤ 100 , 1 ≤ H i ≤ 1000 3 \le N \le 100, 1 \le H_i \le 1000 3N100,1Hi1000
  • 对于 60% 的数据: 3 ≤ N ≤ 2000 3 \le N \le 2000 3N2000
  • 对于 100% 的数据: 3 ≤ N ≤ 1 0 5 , 1 ≤ H i ≤ 1 0 5 3 \le N \le 10^5, 1 \le H_i \le 10^5 3N105,1Hi105

【分析】

  • 对于 30% 的数据,可以直接枚举 a,b,c,复杂度 O ( n 3 × l o g ) O(n^3 \times log) O(n3×log);
  • 对于原公式化简,可以得到 S = g c d ( H a , H b , H c ) S=gcd(H_a,H_b,H_c) S=gcd(Ha,Hb,Hc),问题转变为在数据中选择三个数字,使得其 gcd 最大。
    如果直接枚举,复杂度并不会有太多的优化,于是考虑正难则反。
    S 一定是在 [ 1 , m i n { h i } ] [1, min\{h_i\}] [1,min{hi}],考虑对每个数据求一下因子,构造这样的情况。
1 : 1,2,3,4,9   ---- 因子含有 1 的数据有 : 1,2,3,4,9  
2 : 2,4         ---- 因子含有 2 的数据有 : 2,4
3 : 3,9         ---- 因子含有 3 的数据有 : 3,9
4 : 4           ---- 因子含有 4 的数据有 : 4
9 : 9           ---- 因子含有 9 的数据有 : 9

如果需要 S = g c d ( H a , H b , H c ) S=gcd(H_a,H_b,H_c) S=gcd(Ha,Hb,Hc) 最大,那么必然因子含有 S 的数据个数不少于 3 个,于是考虑对所有的数据进行因子的处理,然后找到数据数量不少于 3 的最大因子的最小字典序即可。

#include <bits/stdc++.h>
using namespace std;
// typedef long long ll;
#define int long long
const int N = 1e6 + 5, INF = 0x3f3f3f3f, MOD = 1E9 + 7;int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);
}
int lcm(int a, int b) {return a / gcd(a, b) * b;
}
int lcm(int a, int b, int c) {return lcm(lcm(a,b), c);
}
int s(int a, int b, int c) {// return lcm(a, b, c) / lcm(a, b) * a / lcm(a, c) * b * c / lcm(b, c);return gcd(gcd(a, b), c);
}
void solve1() {int n, mx = 0;cin >> n;vector<int> a(n), b(3);for (int i = 0; i < n; i++) cin >> a[i];sort(a.begin(), a.end());for (int i = 0; i < n; i++) for (int j = i + 1; j < n; j++)for (int k = j + 1; k < n; k++) {int x = s(a[i], a[j], a[k]);if (x > mx) mx = x, b[0] = a[i], b[1] = a[j], b[2] = a[k];}for (int i = 0; i < 3; i++)cout << b[i] << " \n"[i == 2];
}
bool check(const vector<int>& b, const vector<int>& v) {if (v.size() < 3) return false;int d1 = gcd(gcd(b[0], b[1]),b[2]);int d2 = gcd(gcd(v[0], v[1]),v[2]);if(d1 != d2) return d1 < d2;for (int i = 0; i < 3; i++)if (b[i] != v[i]) return b[i] > v[i];return false;
}
void solve2() {int n;cin >> n;vector<int> a(n), b(3, -1);for (int i = 0; i < n; i++)cin >> a[i];map<int, vector<int>> mp;for (auto u : a) {for (int i = 1; i <= u / i; i++) {if (u % i == 0) { mp[i].push_back(u);if (i != u / i) mp[u / i].push_back(u);}}}for (auto& [u, v] : mp) {sort(v.begin(), v.end());if (b[0] == -1 || check(b, v))for (int i = 0; i < 3; i++) b[i] = v[i];}for (int i = 0; i < 3; i++)cout << b[i] << " \n"[i == 2];
}
signed main() {int t = 1;  // cin>>t;while (t--) {// solve1(); // 30%solve2(); // ac}return 0;
}

F 数字接龙(15分)

小蓝最近迷上了一款名为《数字接龙》的迷宫游戏。游戏在一个大小为 N × N N\times N N×N 的格子棋盘上展开,其中每一个格子处都有着一个 0 ∼ K − 1 0\sim K-1 0K1 之间的整数。游戏规则如下:

  1. 从左上角 ( 0 , 0 ) (0,0) (0,0) 处出发,目标是到达右下角 ( N − 1 , N − 1 ) (N-1,N-1) (N1,N1) 处的格子。每一步可以选择沿着水平、竖直、对角线方向移动到下一个格子。
  2. 路径经过的棋盘格子,上面的数字需要按照 0 , 1 , 2 , . . . , K − 1 , 0 , 1 , 2 , . . . 0, 1, 2, ..., K-1, 0, 1, 2, ... 0,1,2,...,K1,0,1,2,... 的顺序组成序列。
  3. 途中需要对棋盘上的每个格子恰好都经过一次(仅一次)。
  4. 路径中不可以出现交叉的线路。例如,之前如果从 ( 0 , 0 ) (0,0) (0,0) 移动到 ( 1 , 2 ) (1,2) (1,2) ,那么再从 ( 1 , 0 ) (1,0) (1,0) 移动到 ( 0 , 1 ) (0,1) (0,1) 就会形成交叉线路。

为了方便表示行进方向,对可以行进的八个方向进行了数字编号,如图 2 所示。因此,行进路径可以用一个包含 0 ∼ 7 0\sim 7 07 之间数字的字符串表示。

图 1 展示了一个迷宫示例,其对应的答案是:41255214。
在这里插入图片描述

【分析】 此题是一个比较裸的dfs题目,主要的变化在于路径中不可以出现交叉的线路,如果考虑 (x,y)–>(a,b), 需要看是否存在 (x,b)<–>(a,y),数据范围较小,使用标记 ch[x][y][a][b] 表示 是否存在 (a,y)–>(a,b) 的情况。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 11, INF = 0x3f3f3f3f, MOD = 1E9 + 7;
int n, m, k, d[][2] = {-1, 0, -1, 1, 0, 1, 1, 1, 1, 0, 1, -1, 0, -1, -1, -1};
int s[N][N];
bool st[N][N], ch[N][N][N][N], fg = 0;
string ans;void dfs(int x, int y, string path) {if (x == n - 1 && y == n - 1 || fg) {if (path.size() == n * n - 1)cout << path << endl, fg = 1, exit(0);return;}st[x][y] = 1;for (int i = 0; i < 8; i++) {int a = x + d[i][0], b = y + d[i][1];if (a < 0 || a >= n || b < 0 || b >= n) continue;if (st[a][b] || s[a][b] != (s[x][y] + 1) % k) continue;if (i % 2 && (ch[x][b][a][y] || ch[a][y][x][b])) continue;ch[x][y][a][b] = 1;dfs(a, b, path + to_string(i));ch[x][y][a][b] = 0;}st[x][y] = 0;
}
void solve() {cin >> n >> k;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++) cin >> s[i][j];dfs(0, 0, "");if (!fg) cout << "-1\n";
}
signed main(signed argc, char* argv[]) {int t = 1;  // cin>>t;while (t--) {solve();}return 0;
}

G 爬山(20分)

错题

H 拔河(20分)

小明是学校里的一名老师,他带的班级共有n名同学,每名同学有一个力量值 a i a_i ai。在闲暇之余,小明决定在班级里组织一场拔河比赛。为了保证比赛的双方实力尽可能相近,需要在这n名同学中挑选出两个队伍,队伍内的同学编号连续。具体地,可以表示为两个连续的子序列: a l 1 , a l 1 + 1 , . . . , a r 1 − 1 , a r 1 {a_{l_1}, a_{l_1+1}, ..., a_{r_1-1}, a_{r_1}} al1,al1+1,...,ar11,ar1 a l 2 , a l 2 + 1 , . . . , a r 2 − 1 , a r 2 {a_{l_2}, a_{l_2+1}, ..., a_{r_2-1}, a_{r_2}} al2,al2+1,...,ar21,ar2,其中满足 l 1 ≤ r 1 < l 2 ≤ r 2 l_1 \le r_1 < l_2 \le r_2 l1r1<l2r2。两个队伍的人数不必相同,但是需要让队伍内的同学们的力量值之和尽可能相近。

  • 对于20%的数据,保证 n ≤ 50 n\le 50 n50

  • 对于100%的数据,保证 n ≤ 1 0 3 , a i ≤ 1 0 9 n\le10^3, a_i\le 10^9 n103,ai109
    【分析】

  • 对于20%的数据,可以考虑枚举两个区间,利用前缀和计算区间和,复杂度 O ( n 4 ) O(n^4) O(n4)

  • 明显需要 ≤ O ( n 2 l o g ) \le O(n^2 log) O(n2log) 的复杂度,考虑枚举一个区间,二分查找和该区间和最匹配的数据。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 5, INF = 0x3f3f3f3f, MOD = 1E9 + 7;
ll n,a[N*N/2],s[N];void solve1(){ll ans=1e12;for(int l1=1; l1<n; l1++)for(int r1=l1; r1<n; r1++)for(int l2=r1+1; l2<=n; l2++)for(int r2=l2; r2<=n; r2++)ans = min(ans, abs(s[r2] - s[l2-1] - (s[r1] - s[l1-1])) );cout<<ans<<endl;
}
void solve2(){ll ans=1e12;set<ll> st;st.insert(1e12), st.insert(-1e12);for(int l=1; l<=n; l++){for(int i=1; i<l; i++) st.insert( s[l-1] - s[i-1] ); // [i, l-1]for(int r=l; r<=n; r++){ll sum = s[r] - s[l-1];auto it = st.lower_bound(sum);ans = min(ans, *it - sum);--it;ans = min(ans, sum - *it);}}cout<<ans<<endl;
}
int main(){cin>>n;for(int i=1; i<=n; i++) {cin>>a[i];s[i] = s[i-1] +a[i];}solve2();
}

相关文章:

2024蓝桥杯省赛C/C++大学B组 题解

文章目录 2024蓝桥杯省赛C/C大学B组A 握手问题&#xff08;5分&#xff09;B 小球反弹&#xff08;5分&#xff09;C 好数&#xff08;10分&#xff09;D R 格式&#xff08;10分&#xff09;E 宝石组合&#xff08;15分&#xff09;F 数字接龙&#xff08;15分&#xff09;G 爬…...

BIM/I-FGSM对抗样本生成算法实现(pytorch版)

BIM/I-FGSM对抗样本生成算法 一、理论部分1.1 核心思想1.2 数学形式1.3 BIM 的优缺点1.4 BIM 与 FGSM、PGD 的关系1.5 实际应用建议二、代码实现2.1 导包2.2 数据加载和处理2.3 网络构建2.4 模型加载2.5 生成对抗样本2.6 攻击测试2.7 启动攻击2.8 效果展示一、理论部分 1.1 核心…...

前沿科技:从Gen2到Gen3—Kinova轻型机械臂的技术升级路径

Kinova品牌在轻型机械臂行业中以其轻量化、灵活性和高精度的技术特点而知名。其产品线广泛适用于医疗、科研和工业等多个领域&#xff0c;对机器人技术的进步起到了积极的推动作用。Kinova轻型机械臂凭借其精良的设计和稳定的性能&#xff0c;为用户提供了高效且可靠的解决方案…...

智研咨询:2025DeepSeek技术全景解析重塑全球AI生态的中国力量|附下载方法

导 读INTRODUCTION 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动行业进步的重要力量。智研咨询最新发布的《DeepSeek技术全景解析重塑全球AI生态的中国力量》报告&#xff0c;深入探讨了DeepSeek公司在AI领域的突破性成就及其对全球AI生态的深远影响。 如果感兴…...

超导量子计算机编程实战:IBM Qiskit 2025新API详解

一、量子计算平台演进与Qiskit 2025定位 1.1 IBM量子硬件发展路线 2025年IBM将实现三大技术突破&#xff1a; 量子体积&#xff1a;新一代"Goldeneye"处理器达到QV 8192相干时间&#xff1a;超导量子比特寿命突破500μs互联规模&#xff1a;模块化架构支持万级量子…...

斐波那契数列----C语言

关于斐波那契 已知&#xff1a; 问题背景&#xff1a;一对兔子从第3个月开始每月生一对新兔子&#xff0c;新兔子同样在第3个月开始繁殖。 关键观察&#xff1a; 第1个月&#xff1a;1对&#xff08;初始兔子&#xff09;。 第2个月&#xff1a;1对&#xff08;未成熟&#…...

打开pycharm显示编制索引后卡死

若项目中包含过多文件&#xff0c;PyCharm 启动后会进行自动索引&#xff0c;电脑性能不高时往往会导致崩溃&#xff08;主要是内存问题&#xff09;。以下为解决措施。 ✅ 1. 仅索引代码&#xff0c;排除文件 设置PyCharm 主要索引代码文件&#xff08;.py、.ipynb&#xff…...

AWS云安全全面详解:从基础防护到高级威胁应对

随着企业加速向云端迁移,AWS作为全球最大的云服务提供商之一,其安全性成为用户首要关注的问题。本文将深入剖析AWS云安全架构,从基础防护到高级威胁应对,帮助您构建全方位的云安全防线。 一、AWS安全责任共担模型 在深入探讨AWS具体安全措施前,首先需要理解AWS的安全责任…...

【C++重点】虚函数与多态

在 C 中&#xff0c;虚函数是实现多态的基础。多态是面向对象编程的重要特性之一&#xff0c;允许程序在运行时决定调用哪一个函数版本。通过虚函数&#xff0c;我们能够实现动态绑定&#xff0c;使得不同类型的对象可以通过相同的接口进行操作。 1 静态绑定与动态绑定 静态绑…...

算法学习之BFS

关于BFS我的理解是根据离我们当前这个点的权重来移动&#xff0c;这里权重也可以理解为离这个点的距离&#xff0c; 从起点开始&#xff0c;往前走一步&#xff0c;记录下所有第一步能走到的点开始&#xff0c;然后从所有第一部能走到的点开始向前走第二步&#xff0c;重复下去…...

每日小积累day1

网络&#xff1a; g是用来检测网络联通性的的诊断工具&#xff0c;使用的协议是ICMP 显示数据包括 ICMP数据&#xff1a;序列号&#xff0c;存活时间&#xff08;TTL&#xff09; 目标主机域名IP 往返时间&#xff08;RTT&#xff09; 统计数据&#xff08;平均RTT等等&a…...

【NLP】13. NLP推理方法详解 --- 穷举和贪心搜索

NLP推理方法详解 — 穷举和贪心搜索 在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;推理&#xff08;Inference&#xff09;是指在给定模型的情况下&#xff0c;找到最可能的输出序列。由于模型通常是神经网络&#xff0c;它会为每个可能的输出分配一个概率&am…...

基于 Python 深度学习 lstm 算法的电影评论情感分析可视化系统(2.0 系统全新升级,已获高分通过)

大家好&#xff0c;欢迎来到我的技术专栏&#xff01;今天我将和大家聊聊如何利用 Python 的深度学习技术&#xff0c;打造一个集电影评论情感分析与可视化展示于一体的系统。这个系统不仅能自动采集和解析海量影评&#xff0c;还能实时生成直观的情感趋势图表&#xff0c;对于…...

妙用《甄嬛传》中的选妃来记忆概率论中的乘法公式

强烈推荐最近在看的不错的B站概率论课程 《概率统计》正课&#xff0c;零废话&#xff0c;超精讲&#xff01;【孔祥仁】 《概率统计》正课&#xff0c;零废话&#xff0c;超精讲&#xff01;【孔祥仁】_哔哩哔哩_bilibili 其中概率论中的乘法公式&#xff0c;老师用了《甄嬛传…...

linux--------------进程控制

1.进程创建 1.1fork函数初识 在linux中fork函数是⾮常重要的函数&#xff0c;它从已存在进程中创建⼀个新进程。新进程为⼦进程&#xff0c;⽽原进 程为⽗进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;⾃进程中返回0&#xff0c;⽗进程返回⼦进程id…...

Video Transformer Network

目录 摘要 Abstract VTN 背景 模型框架 视频特征提取 时空位置编码 Transformer编码器 任务特定头 关键创新 实验 代码 总结 摘要 Video Transformer Network 是基于Transformer架构改进的视频理解模型&#xff0c;旨在解决传统3D卷积神经网络在长距离依赖建模和…...

Java网络编程演进:从NIO到Netty的UDP实践全解析

前言 在当前高并发、大数据量的互联网环境下&#xff0c;高性能的网络通信框架变得越来越重要。本文将深入探讨Java网络编程的演进&#xff0c;从NIO到Netty&#xff0c;并通过实际案例分析Netty的优势和应用。&#xff08;本次主要以UDP请求为例&#xff09; Java网络编程演…...

Linux系统中快速安装docker

1 查看是否安装docker 要检查Ubuntu是否安装了Docker&#xff0c;可以使用以下几种方法&#xff1a; 方法1&#xff1a;使用 docker --version 命令 docker --version如果Docker已安装&#xff0c;输出会显示Docker的版本信息&#xff0c;例如&#xff1a; Docker version …...

人工智能之数学基础:幂法和反幂法求特征值和特征向量

本文重点 特征值和特征向量是矩阵的重要性质,我们前面学习了矩阵的正交分解,要想完成正交分解需要求出一个矩阵的特征值和特征向量。有的时候,我们只需要求出一个矩阵的最大的特征值以及矩阵的最小特征值,它们以及它们对应的特征向量具有特殊的含义,下面我们介绍两种方法…...

数据结构 -- 树的应用(哈夫曼树和并查集)

树的应用 哈夫曼树 带权路径长度 结点的权&#xff1a;有某种现实含义的数值&#xff08;如&#xff1a;表示结点的重要性等&#xff09; 结点的带权路径长度&#xff1a;从树的根到该结点的路径长度&#xff08;经过的边数&#xff09;与该结点上权值的乘积 树的带权路径…...

游戏引擎学习第193天

仓库:https://gitee.com/mrxiao_com/2d_game_4 回顾 我们昨天做了一些非常有趣的实验。在实验中&#xff0c;我们的目标是实现一个能够在运行时改变的编译时常量的概念。最开始&#xff0c;这个想法纯粹是出于一时的兴趣&#xff0c;觉得这应该是个很有意思的尝试。于是我们进…...

数据结构每日一题day7(顺序表)★★★★★

题目描述&#xff1a;从顺序表中删除其值在给定值s与t之间(包含s和 t&#xff0c;要求 s<t)的所有元素&#xff0c;若s或t不合理或顺序表为空&#xff0c;则返回 false&#xff0c;若执行成功则返回 true。 算法思想&#xff1a; 输入检查&#xff1a;若顺序表为空、指针为…...

ACM模式常用方法总结(Java篇)

文章目录 一、ACM输入输出模式二、重要语法2.1、导包2.2、读取数据2.3、判断是否有下一个数据2.4、输出2.5、关闭scanner2.6、易踩坑点 一、ACM输入输出模式 在力扣上编写代码时使用的是核心代码模式&#xff0c;如果在面试中遇到ACM模式就会比较迷茫&#xff1f;ACM模式要求你…...

SpringCould微服务架构之Docker(6)

容器的基本命令&#xff1a; 1. docker exec &#xff1a;进入容器执行命令 2. docker logs: -f 持续查看容器的运行日志 3. docker ps&#xff1a;查看所有运行的容器和状态 案例&#xff1a;创建运行一个容Nginx容器 docker run--name myNginx -p 80:80 -d nginx 命…...

脑疾病分类的疑惑【7】一般FMRI数据都存储为什么格式?能不能给我用数据简单的描述一下FMRI是如何存储的?

fMRI 数据通常以 NIfTI&#xff08;Neuroimaging Informatics Technology Initiative&#xff09; 格式存储&#xff0c;这是一种专为神经影像设计的开放标准格式。以下是简化说明和示例&#xff1a; 1. 常见fMRI数据格式 格式扩展名特点NIfTI.nii 或 .nii.gz最常用&#xff0…...

DOM 加载函数

DOM 加载函数 在Web开发中,DOM(文档对象模型)加载函数是一个核心概念。它指的是在页面加载过程中,浏览器如何处理和解析HTML文档,并创建相应的DOM树。本文将深入探讨DOM加载函数的作用、原理及其在Web开发中的应用。 引言 随着互联网的飞速发展,Web技术日新月异。DOM作…...

[特殊字符]《Curve DAO 系统学习目录》

本教程旨在系统学习 Curve DAO 项目的整体架构、核心机制、合约设计、治理逻辑与代币经济等内容&#xff0c;帮助开发者全面理解其设计理念及运作方式。 目录总览&#xff1a; 1. Curve 项目概览 • 1.1 Curve 是什么&#xff1f;主要解决什么问题&#xff1f; • 1.2 与其他…...

webpack和vite之间的区别

Webpack 和 Vite 都是现代前端开发中非常流行的构建工具&#xff0c;但它们的设计理念、工作原理以及适用场景都有所不同。以下是两者之间详细的对比说明&#xff1a; 1. 构建机制与速度 Webpack: Webpack 是一个通用的模块打包工具&#xff0c;它通过分析项目中的依赖关系图来…...

《Operating System Concepts》阅读笔记:p495-p511

《Operating System Concepts》学习第 44 天&#xff0c;p495-p511 总结&#xff0c;总计 17 页。 一、技术总结 1.cache (1)定义 A cache is a region of fast memory that holds copies of data. (2)cache 和 buffer 的区别 The difference between a buffer and a cac…...

Java进阶——位运算

位运算直接操作二进制位&#xff0c;在处理底层数据、加密算法、图像处理等领域具有高效性能和效率。本文将深入探讨Java中的位运算。 本文目录 一、位运算简介1. 与运算2. 或运算异或运算取反运算左移运算右移运算无符号右移运算 二、位运算的实际应用1. 权限管理2. 交换两个变…...

特征增强金字塔FPN

特征增强金字塔FPN 利用 ConvNet 特征层次结构的金字塔形状&#xff0c;构建一个在所有尺度上都具有强大语义的特征金字塔 总结&#xff1a;特征金字塔是检测不同尺度物体的识别系统中的基本组成部分。 1.利用深度卷积网络固有的多尺度、金字塔层次结构&#xff0c;以边际额…...

Java课程设计(双人对战游戏)持续更新......

少废话&#xff0c;当然借助了ai&#xff0c;就这么个实力&#xff0c;后续会逐渐完善...... 考虑添加以下功能&#xff1a; 选将&#xff0c;选图&#xff0c;技能&#xff0c;天赋&#xff0c;道具&#xff0c;防反&#xff0c;反重力&#xff0c;物理反弹&#xff0c;击落…...

c++第三课(基础c)

1.前文 2.break 3.continue 4.return 0 1.前文 上次写文章到现在&#xff0c;有足足这么多天&#xff08;我也不知道&#xff0c;自己去数吧&#xff09; 开始吧 2.break break是结束循环的意思 举个栗子 #include<bits/stdc.h> using namespace std; int main(…...

Windows 图形显示驱动开发-WDDM 2.4功能-GPU 半虚拟化(十一)

注册表设置 GPU虚拟化标志 GpuVirtualizationFlags 注册表项用于设置半虚拟化 GPU 的行为。 密钥位于&#xff1a; DWORD HKLM\System\CurrentControlSet\Control\GraphicsDrivers\GpuVirtualizationFlags 定义了以下位&#xff1a; 位描述0x1 ​ 为所有硬件适配器强制设置…...

Android在KSP中简单使用Room

Android在KSP中简单使用Room 最近下载了最新版Studio&#xff0c;好多依赖和配置都需要升级&#xff0c;之前使用过room封装数据库工具类&#xff0c;最近在整理ksp相关&#xff0c;于是把room也升级了&#xff0c;简单记录一下升级过程&#xff0c;直接上代码。 1.添加KSP依…...

Maven 构建配置文件详解

Maven 构建配置文件详解 引言 Maven 是一个强大的项目管理和构建自动化工具,广泛应用于 Java 开发领域。在 Maven 项目中,配置文件扮演着至关重要的角色。本文将详细介绍 Maven 构建配置文件的相关知识,包括配置文件的作用、结构、配置方法等,帮助读者更好地理解和应用 M…...

精确截图工具:基于 Tkinter 和 PyAutoGUI 的实现

在日常工作中&#xff0c;截图是一个非常常见的需求。虽然 Windows 自带截图工具&#xff0c;但有时我们需要更精确的截图方式&#xff0c;比如选取特定区域、快速保存截图并进行预览。本篇博客将介绍一个使用 Python 结合 Tkinter 和 PyAutoGUI 开发的精确截图工具。 C:\pytho…...

Linux练习——有关硬盘、联网、软件包的管理

1、将你的虚拟机的网卡模式设置为nat模式&#xff0c;给虚拟机网卡配置三个主机位分别为100、200、168的ip地址 #使用nmtui打开文本图形界面配置网络 [rootrhcsa0306 ~]# nmtui #使用命令激活名为 ens160 的 NetworkManager 网络连接 [rootrhcsa0306 ~]# nmcli c up ens160 #通…...

【C++】 —— 笔试刷题day_12

一、删除公共字符 题目解析 题目给了两个字符串&#xff08;其中包含空格&#xff09;&#xff0c;让我们在第一个字符串中删除第二个字符串中的字符。 我们要输出删除后的字符串。 算法思路 这道题&#xff0c;如果直接按照题目中的要求去第一个字符串中删除字符&#xff0c…...

家乡旅游景点小程序(源码+部署教程)

运行环境 家乡旅游景点小程序运行环境如下&#xff1a; • 前端&#xff1a;小程序 • 后端&#xff1a;无 • IDE工具&#xff1a;微信开发者工具 • 技术栈&#xff1a;小程序 注意&#xff1a;此项目为纯静态项目&#xff0c;无后端 主要功能 家乡旅游景点微信小程序主…...

SQL Server:当在删除数据库时因为存在触发器而无法删除

当在删除数据库时因为存在触发器而无法删除&#xff0c;你可以通过禁用触发器来解决这个问题。下面为你介绍在 SQL Server 里禁用和启用触发器的方法。 禁用数据库中所有表的触发器 你可以使用系统视图 sys.triggers 来查询数据库里所有的触发器&#xff0c;然后生成禁用这些…...

多人协同进行qt应用程序开发应该注意什么2?

在多人协同开发Qt应用程序时&#xff0c;为了确保高效协作、代码一致性和项目可维护性&#xff0c;需要特别注意以下关键点&#xff1a; 1. 版本控制与协作流程 统一版本控制工具&#xff1a;使用Git并规范分支策略&#xff08;如Git Flow&#xff09;&#xff0c;通过.gitign…...

js关于for of 与for in

for…of for-of循环用于遍历可迭代对象&#xff0c;如数组、字符串、Map、Set等。它直接访问每个元素的值&#xff0c;而不是键名。 const arr [3,5,6,7,0] for(let item of arr){console.log(item); } // 3 // 5 // 6 // 7 // 0只有部署了Iterator接口的数据结构才能使用fo…...

Python Excel

一、Python读Excel——xlrd -*- coding: utf-8 -*- import xlrddef read_excel():打开文件workbook xlrd.open_workbook(rD:\demo1.xlsx)获取所有sheetprint(workbook.sheet_names()) 列表形式返回sheet1_name workbook.sheet_names()[0]根据sheet索引或者名称获取sheet内容…...

前端全局编程和模块化编程

1. 全局编程 <!DOCTYPE html> <html> <head><title>OpenLayers 示例</title><style>.map {width: 100%;height: 400px;}</style><script src"https://cdn.jsdelivr.net/npm/olv7.4.0/dist/ol.js"></script>&…...

随机2级域名引导页HTML源码

源码介绍 随机2级域名引导页HTML源码,每次点进去都随机一个域名前缀。 修改跳转域名在 350 行代码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行 效果预览 源码免费获取 随机2级域名引导页…...

Latex的各种数学公式

Latex的各种数学公式 简介公式1、 A 、 A ‾ \neg A\text{、}\overline{A} A、A2、 、 \text{、} 、3、 ⋅ 、 ∙ \cdot \text{、} \bullet ⋅、∙ 4、表格 简介 这里会随时更新我需要用到的数学公式&#xff0c;以csdn中写作格式为主&#xff0c;可能过时了&#xff0c;不适合…...

稻壳模板下载器(Windows):免费获取WPS稻壳模板的利器

稻壳模板下载器&#xff08;Win&#xff09; 稻壳模板下载器是一款功能强大的工具&#xff0c;能够帮助用户免费下载WPS稻壳儿中的各种模板&#xff0c;无需开通VIP会员。它支持多种模板类型&#xff0c;包括PPT、Word、Excel等&#xff0c;极大地提升了用户的办公效率。 依托…...

BeanDefinition和Beanfactory实现一个简单的bean容器

目录 什么是 Springbean 容器 设计思路 图解 参考文章 开源地址 BeanDefinition 类 BeanFactory 类 测试类 什么是 Springbean 容器 Spring 包含并管理应用对象的配置和生命周期&#xff0c;在这个意义上它是一种用于承载对象的容器&#xff0c;你可以配置你的每个 Bea…...

Mybatis的resultMap标签介绍

说明&#xff1a;在Mybatis中&#xff0c;resultMap 标签可以用于SQL查询后的封装数据&#xff0c;本文用两个场景介绍 resultMap 标签的使用。 搭建环境 先搭一个Demo&#xff0c;pom如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> &…...