2023年蓝桥杯第十四届CC++大学B组真题及代码
目录
1A:日期统计
解析代码_暴力_正解
2B:01串的熵
解析代码_暴力_正解
3C:冶炼金属
解析代码_暴力_正解
4D:飞机降落
解析代码_暴力dfs_正解
5E:接龙数列
解析代码_dp_正解
6F:岛屿个数
解析代码_bfs_正解
7G:子串简写
解析代码1_暴力_超时
解析代码2_二分_正解
解析代码3_前缀和_正解
8H:整数删除
解析代码_优先队列+链表_正解
9I:景区导游
解析代码(待续)
10J:砍树
解析代码(待续)
题库链接:题库 - 蓝桥云课 (lanqiao.cn)
1A:日期统计(填空5分)
解析代码_暴力_正解
答案是235,暴力枚举,别看有八层循环,前4层接近没有,效率也挺高
#include <iostream>
using namespace std;
bool date_flag[1232]; // 月+日 的范围是 01-01 到 12-31,找到哪个日期,就标记为 true;
int main()
{int arr[] = { 5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7, 5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9, 2,7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3, 8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6, 1, 4, 0, 1,0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3 };//int arr[100] = { 0 };//for (int i = 0; i < 100; ++i)//{// cin >> arr[i];//}int res = 0;for (int a = 0; a <= 100 - 8; a++) // 2{if (arr[a] != 2)continue;for (int b = a + 1; b <= 100 - 7; b++) // 0{if (arr[b] != 0)continue;for (int c = b + 1; c <= 100 - 6; c++) // 2{if (arr[c] != 2)continue;for (int d = c + 1; d <= 100 - 5; d++) // 3{if (arr[d] != 3)continue;for (int e = d + 1; e <= 100 - 4; e++) // 月份第一个数 {if (arr[e] > 1)continue;for (int f = e + 1; f <= 100 - 3; f++) // 月第二个数 {int month = arr[e] * 10 + arr[f]; // 月份if (month > 12 || month == 0)continue;for (int g = f + 1; g <= 100 - 2; g++) // 日第一个数 {if (arr[g] > 3)continue;for (int h = g + 1; h <= 100 - 1; h++) // 日第二数 {int day = arr[g] * 10 + arr[h]; // 日 if (day > 31 || day == 0)continue; // 需要注意日期合法性,比如2月31日就不合法 int i = month * 100 + day;// printf("2023 %04d\n",i); // 可以输出看一下date_flag[i] = true;}}}}}}}}int ans = 0, uu = 0;for (int i = 101; i < 1231; i++){if (i == 229 || i == 230 || i == 231 || i == 431 || i == 631 || i == 931 || i == 1131) //不合法日期 (2023年不是润年) continue;ans += date_flag[i];}cout << ans << endl;return 0;
}
2B:01串的熵(填空5分)
解析代码_暴力_正解
也是暴力枚举,注意公式怎么用代码表示,(当时本人题目都没看懂......)例子中 S = 100长度是3,所以加了3次,1的占比是1/3,0的占比是2/3,xi就是0或1。
#include <iostream>
#include <cmath>
using namespace std;int main()
{// 设 有 x 个 ‘0’ 和 y 个 ‘1’ ;则有x+y= 23333333,即 y=23333333-x , // 因为题目告诉了 0 出现次数比 1 少,也即是 x<=23333333/2 ,// ‘0’占比 x/(x+y),‘1’占比 y/(x+y) // 计算机最不怕的就是麻烦,开找double Hs = 11625907.5798;for (double x = 23333333 / 2; x >= 1; x--) // x应该很大,所以反过来循环 {double y = 23333333 - x;double p0 = x / (x + y);double p1 = y / (x + y); // p1=1.0-p0; double result = x * (-p0 * (log(p0) / log(2))) + y * (-p1 * (log(p1) / log(2)));// 上面公式是x个前面的,y个后面的,log是求e为底的对数,然后用换底公式if (11625907.5797 < result && result < 11625907.5799) // 精度问题,没办法用等于 {printf("%.0f", x);break;//printf("x=%f result=%f\n", x, result);}}return 0;
}
3C:冶炼金属(编程10分)
解析代码_暴力_正解
// 23年C冶炼金属
#include <iostream>#define int long long
#define endl '\n'
using namespace std;const int INF = 0x3f3f3f3f;signed main() // 10分题,没那么复杂,很简单,每次都判断可去范围就好了
{ios::sync_with_stdio(0); // 关流cin.tie(0);cout.tie(0);int V_max = INF, V_min = -INF;int N = 0;cin >> N;while (N--){int A = 0, B = 0;cin >> A >> B;// A 中 V 个普通的金属提炼出 1 个特殊金属,总A个能提炼出B个// 75 -> 3// 75 / 3 = 25 // 最大消耗中的最小值// 75 / 4 + 1 = 19// 53 -> 2// 53 / 2 = 26.5// 53 / 3 + 1 = 18// 59 -> 2// 59 / 2 = 29.5// 59 / 3 + 1 = 20 // 所有最小消耗中最大值int Vmin = A / (B + 1) + 1; // 本次中,冶炼一个特殊金属至少消耗 Vmin 才能满足本次冶炼 B 个的条件 int Vmax = A / B; // 本次中,冶炼一个特殊金属最多消耗 Vmax 才能满足本次冶炼 B 个的条件V_min = max(V_min, Vmin); // 所有最小消耗中取最大值才能都满足 V_max = min(V_max, Vmax); // 所有最大消耗中取最小值才能都满足}cout << V_min << " " << V_max << endl;return 0;
}
4D:飞机降落(编程10分)
解析代码_暴力dfs_正解
// 23年D_飞机降落 : 暴力枚举DFS
// #include<bits/stdc++.h>
#include<iostream>
#define int long long
using namespace std;
const int N = 10 + 7;
bool check[N]; // 判断当前飞机是否已经降落
int n; // 飞机个数。struct plane
{int t, d, l;
}p[N];// u表示已经有U架飞机成功降落了
// time表示当前的时间,前一架飞机落地的时间
bool dfs(int u, int time)
{if (u >= n)return true;// 考虑第(u + 1)架飞机谁落for (int i = 0; i < n; i++){if (!check[i]){check[i] = true;if (p[i].t + p[i].d < time){check[i] = false; // 回溯到DFS之前的状态return false;}int t = max(time, p[i].t) + p[i].l;if (dfs(u + 1, t))return true;elsecheck[i] = false; // 回溯到DFS之前的状态}}return false;
}void solve()
{cin >> n;for (int i = 0; i < n; i++){cin >> p[i].t >> p[i].d >> p[i].l;}if (dfs(0, 0))cout << "YES" << endl;elsecout << "NO" << endl;for (int i = 0; i < n; i++){check[i] = false;}
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t = 1;cin >> t;while (t--){solve();}return 0;
}
/*
2
3
0 100 10
10 10 10
0 2 20
3
0 10 20
10 10 20
20 10 20
*/
5E:接龙数列(编程15分)
解析代码_dp_正解
动态规划代码:p[i] 表示以i位置为结尾最长的接龙子序列的长度。
p[i][j] 表示以i位置为结尾最长的接龙子序列的长度,最后一位数字是j,j>=0 && j <= 9
// 23年E_接龙序列
// #include <bits/stdc++.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#define int long long
const int INF = 0x3f3f3f3f;
using namespace std;int get_first(int x)
{int tmp = x, ret = 0;while (tmp){ret = tmp % 10;tmp /= 10;}return ret;
}int get_last(int x)
{return x % 10;
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// dp[i] 表示以i位置为结尾最长的接龙子序列的长度// dp[i][j] 表示以i位置为结尾最长的接龙子序列的长度,最后一位数字是j,j>=0 && j <= 9int n = 0;cin >> n;vector<int> arr(n + 1);for (int i = 1; i <= n; ++i){cin >> arr[i];}vector<vector<int>> dp(n + 20, vector<int>(20));for (int i = 1; i <= n; ++i){for (int j = 0; j <= 9; ++j){// 不选/删除第i个数字dp[i][j] = dp[i - 1][j] + 1;}// 选/保留第i个数字int last = get_last(arr[i]);int first = get_first(arr[i]);dp[i][last] = min(dp[i - 1][first], dp[i][last]);}int ret = INF;for (int i = 0; i < 10; i++){ret = min(ret, dp[n][i]);}cout << ret << endl;return 0;
}
6F:岛屿个数(编程15分)
解析代码_bfs_正解
// 23年F_岛屿个数:从所有的外海点出发做BFS,遇到陆地后就做DFS
// #include<bits/stdc++.h>
#include <iostream>
#include <queue>
#define int long long
using namespace std;int dx[4] = { 0, 0 , -1, 1 }; // i点加dx,dy就是i点的上下左右下标
int dy[4] = { 1, -1 , 0, 0 };
int dx2[8] = { 0, 0 , -1, 1 , -1, 1,-1, 1 }; // i点加dx,dy就是i点的上下左右下标
int dy2[8] = { 1, -1 , 0, 0 , -1, 1, 1, -1 };
int m = 0, n = 0, res = 0;bool vis0[55][55];
bool vis1[55][55];void dfs(vector<vector<int>>& arr, int sr, int sc)
{//queue<pair<int, int>> q; // BFS版//q.push({ sr, sc });//vis1[sr][sc] = true;//while (!q.empty())//{// auto& tmp = q.front();// auto a = tmp.first;// auto b = tmp.second;// q.pop();// for (int i = 0; i < 4; ++i)// {// int x = a + dx2[i], y = b + dy2[i];// if (x >= 0 && x < m && y >= 0 && y < n && arr[x][y] == 1 && !vis1[x][y]) // DFS陆地// {// vis1[x][y] = true;// q.push({ x, y });// }// }//}vis1[sr][sc] = true;for (int i = 0; i < 4; ++i){int x = sr + dx[i], y = sc + dy[i];if (x >= 0 && x < m && y >= 0 && y < n && arr[x][y] == 1 && !vis1[x][y]){vis1[x][y] = true;dfs(arr, x, y);}}
}void bfs(vector<vector<int>>& arr, int sr, int sc)
{queue<pair<int, int>> q;q.push({ sr, sc });vis0[sr][sc] = true;while (!q.empty()){auto& tmp = q.front();auto a = tmp.first;auto b = tmp.second;q.pop();for (int i = 0; i < 8; ++i){int x = a + dx2[i], y = b + dy2[i];if (x >= 0 && x < m && y >= 0 && y < n && arr[x][y] == 0 && !vis0[x][y]) // BFS海洋{vis0[x][y] = true;q.push({ x, y });}if (x >= 0 && x < m && y >= 0 && y < n && arr[x][y] == 1 && !vis1[x][y]) // 找陆地{++res;dfs(arr, x, y);}}}
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int N = 0;cin >> N;while (N--){cin >> m >> n;vector<vector<int>> arr(m, vector<int>(n));for (int i = 0; i <= n; i++)for (int j = 0; j <= m; j++)vis0[i][j] = vis1[i][j] = false;for (int i = 0; i < m; ++i){string tmp;cin >> tmp;for (int j = 0; j < n; ++j){arr[i][j] = tmp[j] - '0';}}bool flag = false;for (int i = 0; i < n; ++i) // 从外海点出发做bfs找陆地{if (arr[0][i] == 0){bfs(arr, 0, i);flag = true;}if (arr[m - 1][i] == 0){bfs(arr, m - 1, i);flag = true;}}for (int i = 0; i < m; ++i){if (arr[i][0] == 0){bfs(arr, i, 0);flag = true;}if (arr[i][n - 1] == 0){bfs(arr, i, n - 1);flag = true;}}if (!flag) // 如果外围全是岛{cout << 1 << endl;}else{cout << res << endl;res = 0;}}return 0;
}
/*
2
5 5
01111
11001
10101
10001
11111
5 6
111111
100001
010101
100001
111111
*/
7G:子串简写(编程20分)
解析代码1_暴力_超时
23年G子串简写
// 暴力法(超时)
#include <iostream>
#include <string>
#define int long long
#define endl '\n'
using namespace std;signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int k = 0;string str;char c1, c2;cin >> k >> str >> c1 >> c2;int sz = str.size(), ret = 0;for (int i = 0; i < sz; ++i){if (str[i] != c1)continue;for (int j = k - 1; j < sz; ++j){if (str[j] != c2)continue;if (j - i + 1 >= k)++ret;}}cout << ret << endl;return 0;
}
解析代码2_二分_正解
23年G子串简写
// 正解:二分
//#include <bits/stdc++.h>
#include <iostream>
#include <string>
#include <vector>
#define int long long
#define endl '\n'
using namespace std;signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int k = 0;string str;char c1, c2;cin >> k >> str >> c1 >> c2;int sz = str.size(), ret = 0;vector<int> arr;arr.reserve(sz);for (int i = 0; i < sz; ++i){if (str[i] == c1){arr.push_back(i); // 存c1的下标}if (str[i] == c2) // 二分找前面k个长度外有多少个c1(找右端点){if (i - k + 1 < 0 || !arr.size())continue;int left = 0, right = (int)arr.size() - 1;while (left < right){int mid = left + right + 1 >> 1;if (arr[mid] <= (i - k + 1))left = mid;elseright = mid - 1;}if (arr[right] <= i - k + 1)ret += (right + 1);}}cout << ret << endl;return 0;
}
解析代码3_前缀和_正解
23年G子串简写
// 正解:前缀和
//#include <bits/stdc++.h>
#include <iostream>
#include <string>
#define int long long
#define endl '\n'
using namespace std;signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int k = 0;string str;char c1, c2;cin >> k >> str >> c1 >> c2;int sz = str.size(), ret = 0;int sum_c1 = 0;for (int i = 0, j = k - 1; i < sz && j < sz; ++i, ++j){if (str[i] == c1)++sum_c1;if (str[j] == c2)ret += sum_c1;}cout << ret << endl;return 0;
}
8H:整数删除(编程20分)
解析代码_优先队列+链表_正解
//整数删除:优先队列 + 模拟链表
// #include<bits/stdc++.h>
#include <iostream>
#include <queue>
#define int long long
#define endl '\n'
using namespace std;
typedef pair<int, int> pii;
const int N = 5e5 + 10;
int arr[N], l[N], r[N]; // l[i]和r[i]分别表示i左边和右边的数字的下标
int st[N];
void solve()
{int n = 0, k = 0; cin >> n >> k;priority_queue<pii, vector<pii>, greater<pii>>q;for (int i = 0; i < n; i++){cin >> arr[i];q.push({ arr[i], i });st[i] = arr[i];l[i] = i - 1;r[i] = i + 1;if (r[i] == n)r[i] = -1;}while (k){pii t = q.top();q.pop();if (t.first != st[t.second]){q.push({ st[t.second], t.second });continue;}--k;int pos = t.second; // 获取该元素在原数组中的位置if (l[pos] >= 0) // 将该元素的相邻元素加上该数值st[l[pos]] += t.first;if (r[pos] >= 0)st[r[pos]] += t.first;if (l[pos] >= 0) // 更新相邻点的相邻元素r[l[pos]] = r[pos];if (r[pos] >= 0)l[r[pos]] = l[pos];st[pos] = -1; // 该元素已经被删除,打标记}for (int i = 0; i < n; ++i){if (st[i] != -1)cout << st[i] << " ";}cout << endl;
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);solve();return 0;
}
9I:景区导游(编程25分)
解析代码(待续)
(待续)
10J:砍树(编程25分)
解析代码(待续)
(待续)
相关文章:
2023年蓝桥杯第十四届CC++大学B组真题及代码
目录 1A:日期统计 解析代码_暴力_正解 2B:01串的熵 解析代码_暴力_正解 3C:冶炼金属 解析代码_暴力_正解 4D:飞机降落 解析代码_暴力dfs_正解 5E:接龙数列 解析代码_dp_正解 6F:岛屿个数 解析代…...
odo18实施——销售-仓库-采购-制造-制造外包-整个流程自动化单据功能的演示教程
安装模块 安装销售 、库存、采购、制造模块 2.开启外包功能 在进入制造应用点击 配置—>设置 勾选外包,点击保存 添加信息 一、添加客户信息 点击到销售应用 点击订单—>客户 点击新建 创建客户1,及其他客户相关信息,点…...
c++造轮子之REACTOR实战
本文实现的为单reactor 多线程(base) 非核心库 InetAddress 这个库简单而言 无疑是设置ip地址和端口 class InetAddress { public:struct sockaddr_in addr;socklen_t addr_len;InetAddress();InetAddress(const char* ip, uint16_t port);~InetAddress(); };具体而言: Ine…...
【Easylive】Elasticsearch搜索组件详解
【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版 一、Elasticsearch基础介绍 Elasticsearch(简称ES)是一个分布式、RESTful风格的搜索和分析引擎,基于Apache Lucene构建。在视频平台中,它主要用于: 全…...
基于AT89C51单片机的加减乘除液晶计算机设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/90574816?spm1001.2014.3001.5503 功能介绍: 可进行最高四位数的加减乘除运算,除法运算保留小数点后四位;4*4矩阵按键输入&…...
先进制造aps专题三十三 开源aps产品,frepple和dream对比分析
开源的两个aps产品,frepple和dream对比分析 frepple开源的基本不能用,第一它甘特图没开源,而且甘特图不允许你手工个修改,你想把它当成手工甘特图用也不行,第二,算法强制倒排,很少企业是倒排 …...
Vue3.2 项目打包成 Electron 桌面应用
本文将详细介绍如何将基于 Vue3.2 的项目打包成 Electron 桌面应用。通过结合 Electron 和 Vue CLI 工具链,可以轻松实现跨平台桌面应用的开发与发布。 1. 项目结构说明 项目主要分为以下几个部分: electron/main.js:Electron 主进程文件。…...
第16届蓝桥杯单片机模拟试题Ⅰ
试题 代码 sys.h #ifndef __SYS_H__ #define __SYS_H__#include <STC15F2K60S2.H> //onewire.c float getT(); //sys.c extern unsigned char UI; extern bit touch_mode; extern float jiaozhun; extern float canshu; extern float temper; void init74hc138(unsigned…...
ES:geoip_databases
如何查看 .geoip_databases 的内容 在Elasticsearch中,.geoip_databases 是一个特殊的索引,用于存储GeoIP数据库文件。这些文件通常用于地理信息的丰富(GeoIP enrichment)。以下是如何查看和管理这些数据库文件的方法:…...
企业级开发SpringBoost玩转Elasticsearch
案例 Spring Boot 提供了 spring-data-elasticsearch 模块,可以方便地集成 Elasticsearch。 下面我们将详细讲解如何在 Spring Boot 中使用 Elasticsearch 8,并提供示例代码。 1. 添加依赖: 首先,需要在 pom.xml 文件中添加 spring-data-e…...
边缘计算网关作用
一、数据采集与预处理 边缘计算网关作为物联网系统的“数据入口”,能够连接各种传感器和设备,实时采集数据。在数据传输到云端之前,它会对数据进行清洗、过滤和聚合,剔除重复、无效或冗余的信息,只将有价值的数据上传…...
利用本地 Express Web 服务解决复杂的 Electron 通信链路的问题
背景 Web 服务对前端同学来说并不陌生,你们开发其他前端界面请求的后端接口就是 Web 服务,你们 npm run dev启动的也是一个本地的 Web 服务,前端的 js,html,css 都有从这个服务上拉取到的资源。 我们在开发 Electron…...
《自然-计算科学》诚邀您投稿计算社会科学研究(computational social science)
李升伟 编译 近年来,运用计算方法和工具来深化对社会科学长期议题理解的"计算社会科学"发展迅猛。这一增长主要得益于社交媒体数据、移动通信数据、数字化图书与历史档案、医疗记录等海量数据的涌现,这些资源不仅为验证现有社会科学理论提供了…...
【SPSS/EXCEl】主成分分析构建__综合评价指数
学习过程中实验操作的记录 1.数据准备和标准化: (1)区分正负相关性:判断每个因子是正向指标还是负向指标,计算每个的最大值和最小值 (2) 标准化: Min-Max标准化 Min-Max标准化(最大最小值法): 将数据映射到指定的区间ÿ…...
#node.js后端项目的部署相关了解
熟悉 Spring Boot 的 java -jar 启动方式,那咱们就用类比 实战方式,来彻底搞懂: 🚀 Node.js 后端项目的 部署 & 启动方式 ✅ 和 Spring Boot 的 java -jar xxx.jar 一样,Node.js 也可以一句命令启动,而…...
程序化广告行业(69/89):DMP与PCP系统核心功能剖析
程序化广告行业(69/89):DMP与PCP系统核心功能剖析 在数字化营销浪潮中,程序化广告已成为企业精准触达目标受众的关键手段。作为行业探索者,我深知其中知识的繁杂与重要性。一直以来,都希望能和大家一同学习…...
基于Python的二手房数据挖掘与可视化深度分析
一、技术框架与数据概况 1.1 技术栈构成 import pandas as pd # 数据操作(v1.3.5) import numpy as np # 数值计算(v1.21.6) from pyecharts.charts import * # 交互式可视化(v1.9.1) from sklearn.preprocessing import StandardScaler # 数据标准化(可选扩展) …...
linux第三次作业
1、将你的虚拟机的网卡模式设置为nat模式,给虚拟机网卡配置三个主机位分别为100、200、168的ip地址 2、测试你的虚拟机是否能够ping通网关和dns,如果不能请修改网关和dns的地址 3、将如下内容写入/etc/hosts文件中(如果有多个ip地址则写多行&…...
C#编写HttpClient爬虫程序示例
要写一个使用C#和HttpClient的爬虫程序。首先,我需要了解HttpClient的基本用法。HttpClient是用来发送HTTP请求和接收响应的类,对吧?我记得在C#中使用它的时候需要注意一些事情,比如最好使用单例实例,而不是频繁创建和…...
关于Spring MVC在无注解情况下通过参数名匹配获取请求参数的详细说明,包含代码示例和总结表格
以下是关于Spring MVC在无注解情况下通过参数名匹配获取请求参数的详细说明,包含代码示例和总结表格: 1. 核心机制 Spring MVC通过参数名匹配实现无注解参数绑定: 条件:方法参数名需与请求参数(查询参数、表单参数&a…...
数智读书笔记系列027:《医疗健康大数据治理》构建智慧医疗的核心基石
一、图书介绍: 1.1 书籍基本信息 在当今数字化技术飞速发展的背景下,医疗行业正经历着前所未有的变革。信息化、智能化、数据驱动的趋势正在深入到医疗服务的各个环节,推动着医疗健康大数据成为医疗行业发展的核心资产。在这样的时代背景下,《医疗健康大数据治理》这本书应…...
Wayland介绍
Wayland 是一种现代化的显示服务器协议,旨在替代传统的 X Window System(X11),为 Linux 和类 Unix 系统提供更高效、安全的图形显示管理。以下是其核心要点: 1. 基本概念 显示服务器协议:Wayland 定义了客户…...
dockerTeskTop安装dify及使用deepseek
配置 在这之前,要把模型运行一起,我这里是 PS C:\Users\Administrator> ollama run deepseek-r1:8b 模型名称一定要写对 如果添加失败,参考 dify 1.0.1无法在ollama下新增LLM模型 - 何辉煌 - 博客园...
解释 Git 的基本概念和使用方式
Git 是一个分布式版本控制系统,用于跟踪文件的变化并协作开发项目。下面是 Git 的一些基本概念和使用方式: 仓库(Repository):Git 仓库是用来存储项目文件的地方,可以在本地计算机上创建一个本地仓库&#…...
【区块链安全 | 第三十三篇】备忘单
文章目录 备忘单操作符优先级备忘单ABI 编码和解码函数bytes 和 string 的成员Address 的成员区块与交易属性校验和断言数学和加密函数合约相关类型信息函数可见性说明符修饰符备忘单 操作符优先级备忘单 以下是操作符的优先级顺序,按评估顺序列出: 优先级描述操作符1后缀递…...
MyBatis的缓存、逆向工程、使用PageHelper、使用PageHelper
一、MyBatis的缓存 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率。 mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直…...
GS+:地统计分析与空间插值工具
大家好,今天为大家介绍的软件是GS:一款用于地统计分析与空间数据处理的软件。与ArcGIS相比的话,它更适合专注于地质统计学分析的用户,尤其是需要对半方差函数进行深入分析和调整的场景下面。我们将从软件的主要功能、支持的系统、…...
C++类型转换详解
目录 一、内置 转 内置 二、内置 转 自定义 三、自定义 转 内置 四、自定义 转 自定义 五、类型转换规范化 1.static_case 2.reinterpret_cast 3.const_cast 4.dynamic_cast 六、RTTI 一、内置 转 内置 C兼容C语言,在内置类型之间转换规则和C语言一样的&am…...
scala-集合2
可变数组 定义变长数组 val arr01 ArrayBuffer[Any](3, 2, 5) (1)[Any]存放任意数据类型 (2)(3, 2, 5)初始化好的三个元素 (3)ArrayBuffer 需要引入 scala.collection.mutable.ArrayBuffer 案例实操 Arra…...
Clang编译器优化选项
Clang 作为 C/C 编译器,提供了丰富的优化选项,以下是主要的优化相关选项分类和说明: 1. 优化级别(通用选项) 选项说明-O0默认级别,禁用所有优化,用于调试。-O1基础优化(代码大小和执…...
Java文件流操作 - 【Guava】IO工具
引言 Guava 使用术语 流来表示可关闭的,并且在底层资源中有位置状态的 I/O 数据流。字节流对应的工具类为 ByteSterams,字符流对应的工具类为 CharStreams。 Guava 中为了避免和流直接打交道,抽象出可读的 源 source 和可写的 汇 sink 两个概…...
C语言中单链表操作:查找节点与删除节点
一. 简介 前面学习了C语言中创建链表节点,向链表中插入节点等操作,文章如下: C语言中单向链表:创建节点与插入新节点-CSDN博客 本文继续学习c语言中对链表的其他操作,例如在链表中查找某个节点,删除链表…...
mapbox基础,加载栅格图片到地图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️raster 栅格图层 api二、🍀使用本地载…...
Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略
Linux红帽:RHCSA认证知识讲解(十 二)调试 SELinux,如何管理 SELinux 的运行模式、安全策略、端口和上下文策略 前言一、SELinux 简介二、SELinux 的运行模式2.1 查看和切换 SELinux 模式 三、SELinux 预设安全策略的开关控制四、管…...
模糊斜率熵Fuzzy Slope entropy+状态分类识别!2024年11月新作登上IEEE Trans顶刊
引言 2024年11月,研究者在测量领域国际顶级期刊《IEEE Transactions on Instrumentation and Measurement》(IF 5.6,JCR 1区,中科院二区)上发表科学研究成果,以“Optimized Fuzzy Slope Entropy: A Comple…...
【MATLAB】将数据保存在mat文件中 save/load/matfile
MAT文件为MATLAB格式的二进制文件 save()函数 save - 将工作区变量保存到文件中 save(filename) 将当前工作区中的所有变量保存在 MATLAB 格式的二进制文件(MAT 文件)filename 中。如果 filename 已存在,save 会覆盖该文件。 save(filena…...
009_抽象类和接口
抽象类和接口 final关键字常量 单例模式(设计模式)枚举类抽象类抽象类的注意事项、特点使用抽象类的好处模版方法设计模式 接口接口的好处接口的注意事项 final关键字 final关键字是最终的意思,可以修饰类、方法、变量。 修饰类:…...
【数据结构】排序算法(下篇·开端)·深剖数据难点
前引:前面我们通过层层学习,也就了解了Hoare大佬的排序思想,今天我们学习的东西可能稍微有点难度,因此我们必须学会思想,我很受感慨,因此借此分享一下:【用1520分钟去调试】,如果我们…...
Elixir语言的计算机视觉
Elixir语言在计算机视觉中的应用 引言 计算机视觉作为一门交叉学科,近年来随着深度学习技术的发展而蓬勃发展。传统上,计算机视觉应用通常采用Python、C等语言进行开发,因为这些语言拥有强大的图像处理库和深度学习框架。然而,随…...
VTK知识学习(51)- 交互与Widget(二)
1、交互器样式 前面所讲的观察者/命令模式是 VTK实现交互的方式之一。在前面示例 所示的窗口中可以使用鼠标与柱体进行交互,比如用鼠标滚轮可以对柱体放大、缩小;按下鼠标左键不放,然后移动鼠标,可以转动柱体;按下鼠标左键,同时按…...
目标跟踪Deepsort算法学习2025.4.7
一.DeepSORT概述 1.1 算法定义 DeepSORT(Deep Learning and Sorting)是一种先进的多目标跟踪算法,它结合了深度学习和传统的目标跟踪技术,在复杂环境下实现了高精度和鲁棒性的目标跟踪。该算法的核心思想是通过融合目标的外观特征和运动特征,实现对多个目标的持续跟踪,…...
nacos集群启动问题
根据您的描述,Nacos集群只能启动两个节点,可能的原因和解决方法如下: 1. 集群配置问题 • 原因:cluster.conf文件中可能只配置了两个节点的地址,导致第三个节点无法加入集群。 • 解决方法: • 检查每个…...
八大排序——c++版
本次排序都是按照升序排的 冒泡排序 void bubbleSort(vector<int>& nums) {int nnums.size();for(int i0;i<n-1;i){bool swappedfalse;for(int j0;j<n-1-i;j){if(nums[j]>nums[j1]){swap(nums[j],nums[j1]);swappedtrue;}}if(!swapped)break;} } //算法原…...
关于Spring MVC中传递数组参数的详细说明,包括如何通过逗号分隔的字符串自动转换为数组,以及具体的代码示例和总结表格
以下是关于Spring MVC中传递数组参数的详细说明,包括如何通过逗号分隔的字符串自动转换为数组,以及具体的代码示例和总结表格: 1. 核心机制 Spring MVC支持直接通过逗号分隔的字符串将请求参数自动转换为数组(String[]、int[]等&…...
VBA之Word应用:利用Range方法进行字体及对齐方式设置
《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实…...
区块链技术:重塑供应链管理的未来
在当今全球化的商业环境中,供应链管理的复杂性和重要性日益凸显。从原材料采购到产品交付,供应链的每一个环节都可能影响企业的运营效率和客户满意度。随着区块链技术的兴起,供应链管理迎来了新的变革机遇。本文将深入探讨区块链技术在供应链…...
请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?
导语: 深夜收到粉丝私信:"面了5家大厂,4家都问集成测试和系统测试的区别,求大佬支招!" 作为经历过200+项目实战的测试老司机,今天用4个真实项目案例+3张原理图,带你彻底吃透这两个核心测试阶段!(文末送测试用例模板) 一、灵魂三问:到底测什么? 1.1 集成…...
SVT-AV1学习-svt_aom_get_sg_filter_level,svt_av1_selfguided_restoration_c
SVT-AV1学习-svt_aom_get_sg_filter_level,svt_av1_selfguided_restoration_c 一 函数的作用 根据编码模式,输入分辨率和快速解码标志动态计算自引导恢复(Self Guide Restoration)过滤器的启动级别,以下是详细解析; 1 参数说明 EncMode enc_m…...
第七章总结:集合
一、集合简介 Scala集合分为三大类:序列(Seq)、集(Set)、映射(Map),所有集合都扩展自Iterable特质。集合分为可变集合和不可变集合: 不可变集合:scala.collec…...
玄机靶场:apache日志分析
什么是Apache日志 Apache日志是Apache Web服务器在处理HTTP请求时记录的所有事件的详细信息。Apache是全球最受欢迎的Web服务器软件之一,支持约30.2%的所有活跃网站。Apache通过记录每次请求的信息,包括时间、来源IP、请求的资源等,帮助分…...