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

蓝桥杯-02-2023蓝桥杯c/c++省赛B组题目

参考

2023 年第十四届蓝桥杯 C/C++ B组省赛题解
2023蓝桥杯c/c++省赛B组题目(最全版):

A:日期统计

在这里插入图片描述

这题方法应该很多,没有和别人讨论想法。我的解法思路是:先 load 函数生成所有这一年的合法日期,然后枚举所有可以从数据中拿到的八位日期,检查它是否在合法日期的集合中。

这里枚举到四位,即年份的时候要判断一下,不然可能数据太多要跑很久。

注意要去重!不知道有多少冤大头痛失这 5 分。(原题里特意加粗了不重复)

// 日期统计
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 1e5+5;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9+7;// 235set<int> S;  // 记录一年中合法的日期
set<int> M;  // 记录出现的日期,自带去重// 生成数据
int mon[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
void load() {for (int i = 1; i <= 12; i++) {for (int j = 1; j <= mon[i-1]; j++) {S.insert(2023 * 10000 + i * 100 + j);}}
}void solve() {const int n = 100;int a[256];for (int i = 0; i < n; i++) {cin >> a[i];}for (int i = 0; i < n; i++) {cout << a[i] << ' ';}cout << endl;for (int _1 = 0; _1 < n; _1++) {for (int _2 = _1 + 1; _2 < n; _2++) {for (int _3 = _2 + 1; _3 < n; _3++) {for (int _4 = _3 + 1; _4 < n; _4++) {int x = 0;x = x * 10 + a[_1];x = x * 10 + a[_2];x = x * 10 + a[_3];x = x * 10 + a[_4];if (x != 2023) continue;  // 这里先判断一下合法,否则程序可能跑不动for (int _5 = _4 + 1; _5 < n; _5++) {for (int _6 = _5 + 1; _6 < n; _6++) {for (int _7 = _6 + 1; _7 < n; _7++) {for (int _8 = _7 + 1; _8 < n; _8++) {int x = 0;x = x * 10 + a[_1];x = x * 10 + a[_2];x = x * 10 + a[_3];x = x * 10 + a[_4];x = x * 10 + a[_5];x = x * 10 + a[_6];x = x * 10 + a[_7];x = x * 10 + a[_8];// 如果这个日期是这年的合法日期if (S.count(x)) {M.insert(x);}}}}}}}}}cout << M.size() << endl;
}int32_t main() {// 该文件是复制下来的题目给的数据freopen("A.txt", "r", stdin);load();cout << S.size() << endl;solve();return 0;
}

B: 01 串的熵

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

用Excel做比较方便,让我看看有谁?哈哈哈哈哈
在这里插入图片描述

答案当然就是 11027421了!!!!!

C: 冶炼金属

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

// 冶炼金属
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 1e5 + 5;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9 + 7;void solve() {int n;cin >> n;int min_ = -INF - 1, max_ = INF;for (int i = 0; i < n; i++) {int x, y;cin >> x >> y;min_ = max(min_, x / (y + 1) + 1);  // 求左边界的并max_ = min(max_, x / y);            // 求右边界的并}cout << min_ << " " << max_ << endl;
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);solve();return 0;
}
#include <iostream>
using namespace std;
#include<cstdio>
int main(){long long n,a,b,t,t1;long long max=0,min=9999999999;cin >> n;for(int i = 0;i <n;i++){cin >> a >> b;t=a/b;if(t <= min){min = t;}t1 = a/(b+1); if(t1 >= max){max = t1;}}printf("%lld %lld",max+1,min);return 0;
}

在这里插入图片描述

D: 飞机降落

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

在这里插入图片描述

在这里插入图片描述

// 飞机降落
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 15;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9+7;struct Air {// 最早降落时间, 最迟降落时间, 降落过程耗时int st, ed, len;
} air[MAX];int n;
bool vis[MAX];
bool dfs(int x, int pos) {if (x >= n) return true;for (int i = 0; i < n; i++) {// 如果 i 没有用过,且 i 最迟降落时间在前者的完成这个降落流程之后if (not vis[i] and pos <= air[i].ed) {  vis[i] = true;// 在条件允许的情况下后者尽早降落为后者提供,要两类讨论,这里算有一点点贪心bool tmp = dfs(x+1, max(air[i].st, pos) + air[i].len);  vis[i] = false;if (tmp) return true;}}return false;
}void solve() {cin >> n;for (int i = 0; i < n; i++) {cin >> air[i].st >> air[i].ed >> air[i].len;air[i].ed += air[i].st;}bool res = dfs(0, 0);if (res) {cout << "YES" << endl;} else {cout << "NO" << endl;}
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t;cin >> t;while (t--)solve();return 0;
}

E: 接龙数列

在这里插入图片描述

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

在这里插入图片描述

// 接龙序列
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;int res[10] = {0};void solve() {int n;cin >> n;for (int i = 0; i < n; i++) {int x;cin >> x;int tail = x % 10;  // 计算末尾int head;while (x) {head = x % 10;x /= 10;}  // 计算首位res[tail] = max(res[tail], res[head] + 1);  // 状态转移方程}int max_ = 0;for (int i = 0; i < 10; i++) {max_ = max(max_, res[i]);  // 获取最长接龙序列} cout << n - max_ << endl;
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);solve();return 0;
}

F: 岛屿个数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

// 岛屿个数
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 55;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9 + 7;char map_[MAX][MAX];              // 地图
bool track[MAX][MAX] = {false};   // 访问标记
bool outsea[MAX][MAX] = {false};  // 外海标记
struct XY {int x, y;
} nxt[] = {{1, 0},{-1, 0},{0, 1},{0, -1},{1, 1},{-1, 1},{1, -1},{-1, -1},
};void solve() {int n, m;cin >> n >> m;for (int i = 0; i < n; i++) {cin >> map_[i];}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {track[i][j] = false;outsea[i][j] = false;}}// 预处理外海for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (map_[i][j] == '1' or track[i][j]) continue;bool yep = false;queue<XY> que, arr;track[i][j] = true;que.push({i, j});arr.push({i, j});  // 记录搜索到的所有海域while (not que.empty()) {XY pos = que.front();que.pop();// 注意:海域搜索可以往八个方向走,陆地搜索只能朝四个方向for (int i = 0; i < 8; i++) {XY nw = {pos.x + nxt[i].x, pos.y + nxt[i].y};if (0 <= nw.x and nw.x < n and 0 <= nw.y and nw.y < m) {if (map_[nw.x][nw.y] == '0' and track[nw.x][nw.y] == false) {track[nw.x][nw.y] = true;que.push(nw);arr.push(nw);}} else {yep = true;  // 如果有一次搜索到地图外,标记此次搜索的所有区域为外海}}}if (yep) {while (not arr.empty()) {XY pos = arr.front();arr.pop();outsea[pos.x][pos.y] = true;  // 标记搜索到的海域为外海}}}}// 别忘了清空访问标记for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {track[i][j] = false;}}// 处理岛屿int cnt = 0;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (map_[i][j] == '0' or track[i][j]) continue;bool yep = false;queue<XY> que;track[i][j] = true;que.push({i, j});while (not que.empty()) {XY pos = que.front();que.pop();for (int i = 0; i < 4; i++) {XY nw = {pos.x + nxt[i].x, pos.y + nxt[i].y};if (0 <= nw.x and nw.x < n and 0 <= nw.y and nw.y < m) {if (map_[nw.x][nw.y] == '1') {if (track[nw.x][nw.y] == false) {track[nw.x][nw.y] = true;que.push(nw);}} else {if (outsea[nw.x][nw.y]) {yep = true;  // 搜索到外海为外岛}}} else {yep = true;  // 搜索到边界外为外岛}}}if (yep) {cnt++;  // 外岛计数}}}cout << cnt << endl;
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t;cin >> t;while (t--)solve();return 0;
}

G: 子串简写

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

在这里插入图片描述

在这里插入图片描述

// 子串简写
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
#ifdef _DEBUG
#pragma GCC optimize(2)
#endif
using namespace std;
const int MAX = 5e5 + 5;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9 + 7;int aa[MAX], cnt_aa = 0;
int bb[MAX], cnt_bb = 0;// binary_search 二分查找
int bs(int x) {int l = 0, r = cnt_bb - 1;while (l <= r) {int mid = l + r >> 1;if (bb[mid] < x) {l = mid + 1;} else {r = mid - 1;}}return l;
}void solve() {int k;cin >> k;string s;cin >> s;int n = s.size();char a, b;cin >> a >> b;for (int i = 0; i < n; i++) {if (s[i] == a) {aa[cnt_aa++] = i;  // 转储 c1 位置序列}if (s[i] == b) {bb[cnt_bb++] = i;  // 转储 c2 位置序列}}int res = 0;for (int i = 0; i < cnt_aa; i++) {res += cnt_bb - bs(aa[i] + k - 1);  // 记录有效贡献}cout << res << endl;
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);solve();return 0;
}
#include<iostream>
using namespace std;
int main(){string s;string a,b;int n;int ans = 0;cin >> n;cin >> s >> a >> b;for(int i = 0;i < s.length();i++){for(int j = i+3;j<s.length();j++){if(s[i]==a[0]){if(s[j] == b[0]){ans++;}}}}cout << ans;return 0;
}

输出为:
在这里插入图片描述

仅供参考,个人看法。反正结果正确,理解万岁,大家有什么更好的想法,欢迎评论区交流。。评论区见。

H: 整数删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

// 整数删除
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
#ifdef _DEBUG
// #pragma GCC optimize(2)
#endif
using namespace std;
const int MAX = 5e5 + 5;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9 + 7;
int a[MAX];
int left_[MAX], right_[MAX];  // 仿链表结构using pii = pair<int, int>;// 小顶堆, 手写堆方法与 prority_queue 相仿,可跳至 第121行 void solve();
namespace heap {pii heap[MAX << 1];  // 堆 (树状数组)
int a2h[MAX << 1];   // 数组索引 -> 堆索引
int h2a[MAX << 1];   // 堆索引 -> 数组索引
int total = 0;       // 总节点 (含已 pop 节点)
int siz = 0;         // 堆大小// C 风格比较函数
bool cmp(pii x, pii y) { return x > y; }// 维护映射的交换
void swap_(int u, int v) {swap(a2h[h2a[u]], a2h[h2a[v]]);swap(h2a[u], a2h[v]);swap(heap[u], heap[v]);if (u == siz) {a2h[h2a[u]] = -1;h2a[u] = -1;}if (v == siz) {a2h[h2a[v]] = -1;h2a[v] = -1;}
}// 向上维护
void up(int node) {while (node and cmp(heap[(node - 1) / 2], heap[node])) {swap_(node, (node - 1) / 2);node = (node - 1) / 2;}
}// 向下维护
void down(int node) {int parent = node;         // 父节点下标int child = 2 * node + 1;  // 子节点下标while (child < siz) {// 判断子节点哪个大, 大的与父节点比较if (child + 1 < siz and cmp(heap[child], heap[child + 1]))child++;if (cmp(heap[parent], heap[child]))  // 判断父节点是否小于子节点{swap_(parent, child);  // 交换父节点和子节点parent = child;        // 子节点下标 赋给 父节点下标}child = child * 2 + 1;  // 换行, 比较下面的父节点和子节点}
}// 线性初始化堆
void build(int n) {total = siz = n;for (int i = 0; i < siz; i++) {a2h[i] = i;h2a[i] = i;}for (int i = siz / 2 - 1; i >= 0; i--)// 必须自下而上down(i);
}// 插入节点
void push(pii x) {heap[siz] = x;a2h[total] = siz;h2a[siz] = total;up(siz);total++;siz++;
}// 返回顶值
pii top() { return heap[0]; }// 删除顶点
pii pop() {siz--;swap_(0, siz);down(0);return heap[siz];
}// 修改第 u 个插入的节点
void modify_by_address(int u, pii x) {int v = a2h[u];heap[v] = x;down(v);up(v);
}// 删除第 u 个插入的节点. 返回: 布尔型: 节点在堆中
void pop_by_address(int u) {int v = a2h[u];siz--;swap_(v, siz);down(v);up(v);
}}  // namespace heapvoid solve() {int n, k;cin >> n >> k;for (int i = 0; i < n; i++)cin >> a[i];for (int i = 0; i < n; i++) {if (i > 0)left_[i] = i - 1; // 初始 i 的前驱 i - 1 elseleft_[i] = -1;  // 没有前驱的特殊标记if (i < n - 1)right_[i] = i + 1;  // 初始 i 的后继 i + 1elseright_[i] = -1;heap::push({a[i], i});  // 放入堆中}int cnt = 0;while (cnt < k) {pii p = heap::pop();  // 取出最小的数int idx = p.second, x = p.first;  // idx 为数的索引,x 为这个数if (a[idx] != x) continue;  // 过滤脏数据// 如果有前驱if (left_[idx] >= 0) {a[left_[idx]] += x;  // 贡献给前驱heap::push({a[left_[idx]], left_[idx]});  // 加入修改后数据,原数据变为脏数据,延迟过滤right_[left_[idx]] = right_[idx]; // 更新前驱的后继}// 如果有后继if (right_[idx] >= 0) {a[right_[idx]] += x; // 贡献给后继heap::push({a[right_[idx]], right_[idx]});  // 加入修改后数据,原数据变为脏数据,延迟过滤left_[right_[idx]] = left_[idx]; // 更新后继的前驱}// 标记为无效a[idx] = -1;cnt++;}// 输出for (int i = 0; i < n; i++)if (a[i] >= 0)cout << a[i] << ' ';cout << endl;
}int32_t main() {
#ifdef _DEBUG// freopen("H.in", "r", stdin);// freopen("H.out", "w", stdout);// clock_t st = clock();
#endifcin.tie(0);cout.tie(0);ios::sync_with_stdio(0);solve();#ifdef _DEBUG// cout << "COST: " << clock() - st << endl;
#endifreturn 0;
}
#include <iostream>
#include<cstdio>
using namespace std;
#define MAX 1000000
struct shuzu{long a[MAX] = {0};long len = 0;
}s;
long sort(shuzu &s){long min = s.a[0];long i= 0;long biao = 0;for(i = 1;i<s.len;i++){if(s.a[i]<min){min = s.a[i];biao = i;}}		return biao;
}
void del(shuzu &s,int x){long i;for(i = x;i<s.len;i++){s.a[i] = s.a[i+1];}s.len = s.len - 1;
}
int main(){long n,k;cin >> n >> k;s.len = n;for(int i = 0;i<n;i++){cin >> s.a[i];}for(int i = 0;i < k;i++){long x = sort(s);long shu = s.a[x];if(x == 0){s.a[x+1] += shu;}else if(x == s.len){s.a[x-1] += shu;}else{s.a[x+1] += shu;s.a[x-1] += shu;}del(s,x);	}for(int i = 0;i<s.len;i++){printf("%d ",s.a[i]);}return 0;
}

示例结果也正确。
在这里插入图片描述

I: 景区导游

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

// 景区导游
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 1e5+5;
const int LOG = 20;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9+7;// 建议直接去写板子,别看了int lg2[MAX];
int depth[MAX];
int st[MAX][LOG];
int dis[MAX];
vector<pair<int, int>> edge[MAX];void load_lg2() {lg2[0] = -1;for (int i = 1; i < MAX; i++) {lg2[i] = lg2[i / 2] + 1;}
}void build(int x, int pre, int level) {depth[x] = level;st[x][0] = pre;for (int i = 1; i <= lg2[depth[x]]; i++) {st[x][i] = st[st[x][i-1]][i-1];}for (pair<int, int> p : edge[x]) {int y = p.first, d = p.second;if (y == pre) continue;dis[y] = dis[x] + d;build(y, x, level + 1);}
}int lca(int x, int y) {if (depth[x] > depth[y]) swap(x, y);while (depth[x] < depth[y]) {y = st[y][lg2[depth[y]-depth[x]]];}if (x == y) return x;for (int i = lg2[depth[x]]; i >= 0; i--) {if (st[x][i] != st[y][i]) {x = st[x][i];y = st[y][i];}}return st[x][0];
}int a[MAX];
int rount[MAX];void solve() {int n, k;cin >> n >> k;for (int i = 1; i < n; i++) {int u, v, w;cin >> u >> v >> w;edge[u].push_back({v, w});edge[v].push_back({u, w});}dis[1] = 0;build(1, 1, 0);for (int i = 0; i < k; i++) {cin >> a[i];}int tot = 0;for (int i = 1; i < k; i++) {int f = lca(a[i-1], a[i]);rount[i] = dis[a[i-1]] - dis[f] + dis[a[i]] - dis[f];tot += rount[i];}cout << tot - rount[1] << ' ';  // 第一个for (int i = 1; i < k - 1; i++) {int f = lca(a[i-1], a[i+1]);// 中间置换cout << tot - rount[i] - rount[i+1] + dis[a[i-1]] - dis[f] + dis[a[i+1]] - dis[f] << ' ';}cout << tot - rount[k-1] << endl;  // 最后一个while (true) {int x, y;cin >> x >> y;cout << lca(x, y) << endl;}
}   int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);load_lg2();solve();return 0;
}

J: 砍树

在这里插入图片描述

在这里插入图片描述

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

// 砍树
#include <bits/stdc++.h>
#define int int64_t
#define endl '\n'
using namespace std;
const int MAX = 1e5+5;
const int LOG = 20;
const int INF = 0x3f3f3f3f3f3f3f3fll;
const int MOD = 1e9+7;// 代码较长,建议从 solve 开始看int lg2[MAX];
int depth[MAX];
int st[MAX][LOG]; // pre[i] 即为 st[i][0]
int weight[MAX];
vector<pair<int, int>> edge[MAX]; // pre : suf, idxvoid load_lg2() {lg2[0] = -1;for (int i = 1; i < MAX; i++) {lg2[i] = lg2[i / 2] + 1;}
}void build(int x, int pre, int level) {depth[x] = level;st[x][0] = pre;for (int i = 1; i <= lg2[depth[x]]; i++) {st[x][i] = st[st[x][i-1]][i-1];}for (pair<int, int> p : edge[x]) {int y = p.first;if (y == pre) continue;build(y, x, level + 1);}
}int lca(int x, int y) {if (depth[x] > depth[y]) swap(x, y);while (depth[x] < depth[y]) {y = st[y][lg2[depth[y]-depth[x]]];}if (x == y) return x;for (int i = lg2[depth[x]]; i >= 0; i--) {if (st[x][i] != st[y][i]) {x = st[x][i];y = st[y][i];}}return st[x][0];
}void dfs(int x, int pre) {for (pair<int, int> p : edge[x]) {int y = p.first;if (y == pre) continue;dfs(y, x);weight[x] += weight[y];}
}void solve() {int n, m;cin >> n >> m;for (int i = 1; i < n; i++) {int u, v;cin >> u >> v;edge[u].push_back({v, i});edge[v].push_back({u, i});}build(1, 0, 0);  // lca 初始化, 不能写 build(1, 1, 0)for (int i = 0; i < m; i++) {int u, v;cin >> u >> v;int f = lca(u, v);// 记录差分weight[u]++;weight[v]++;weight[f]--;weight[st[f][0]]--;}dfs(1, 0);// 输出int res = -1;for (int x = 1; x <= n; x++) {if (weight[x] == m) {for (pair<int, int> p : edge[x]) {int y = p.first, idx = p.second;if (weight[y] == m) {res = max(res, idx);}}}}cout << res << endl;
}int32_t main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);load_lg2();solve();return 0;
}

在这里插入图片描述

相关文章:

蓝桥杯-02-2023蓝桥杯c/c++省赛B组题目

参考 2023 年第十四届蓝桥杯 C/C B组省赛题解 2023蓝桥杯c/c省赛B组题目(最全版)&#xff1a; A&#xff1a;日期统计 这题方法应该很多&#xff0c;没有和别人讨论想法。我的解法思路是&#xff1a;先 load 函数生成所有这一年的合法日期&#xff0c;然后枚举所有可以从数据…...

欧拉筛+并查集

集合 - 洛谷 std::vector<int> minp, primes,primes1;void sieve(int n,int p) {minp.assign(n 1, 0);primes.clear();for (int i 2; i < n; i) {if (minp[i] 0) {minp[i] i;primes.push_back(i);}for (auto p : primes) {if (i * p > n) {break;}minp[i * p]…...

《桥接模式(极简c++)》

本文章属于专栏《设计模式&#xff08;极简c版&#xff09;》 继续上一篇《原型模式&#xff08;极简c&#xff09;》。本章简要说明桥接模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明 方案&#xff1a; 将抽象部分与它的实现部分分离&#xff0c…...

jconsole的使用

前提 已安装jdk 使用步骤 1、命令行输入jconsole...

JavaScript详细教程

文章目录 前言一、代码位置二、注释三、变量1.字符串类型2.数组3.对象&#xff08;字典&#xff09; 四、条件语句五、函数六、DOM模板 前言 JavaScript 是一种脚本编程语言&#xff0c;它可以在网页上实现复杂的功能&#xff0c;网页展现给你的不再是简单的静态信息&#xff0…...

Hive自定义GenericUDF函数

Hive自定义GenericUDF函数 当创建自定义函数时&#xff0c;推荐使用 GenericUDF 类而不是 UDF 类&#xff0c;因为 GenericUDF 提供了更灵活的功能和更好的性能。以下是使用 GenericUDF 类创建自定义函数的步骤&#xff1a; 编写Java函数逻辑&#xff1a;编写继承自 GenericUDF…...

伊理威科技:抖音开网店新手刚做选啥品

在数字浪潮中&#xff0c;抖音不仅是展示才艺的舞台&#xff0c;更是创业者的新天地。新手若想在这片热土上开垦网店&#xff0c;选品便是首要课题。选择产品如同种下希望的种子&#xff0c;既要考量土壤肥沃度&#xff0c;也得预测风雨适宜期。 兴趣与专长是选品的罗盘。热爱所…...

【爬虫】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 爬虫 目录&#xff1a; &#xff08;一&#xff09;web自动化和接口自动化 &#xff08;二&#xff09;实战-爬取Boss直聘信息数据...

【Linux】Linux开发工具-vim / 编译器-gcc/g++ / 调试器-gdb / git操作 / 项目自动化构建工具-make/Makefile

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;Linux_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.在Linux写自己的第一个程序 1.1 nano指令 1.2 nano指令的使用 1.2.1 介绍 1.2.2 演示 1.2.2.1 创建.c文件 1.2.2.2 nano cod…...

解决VM重新打开后找不到共享文件夹的问题

我的问题是之前按照网上的文档设置了vm的共享文件夹&#xff0c;能成功使用&#xff0c;但是问题是下一次打开之后就找不到了&#xff0c;虚拟机设置里共享文件夹是启用的&#xff0c;文件夹也完成了映射网络驱动器&#xff0c;但是就是找不到共享文件夹 解决方法&#xff1a;…...

uni app 空挡接龙

pc游戏 空挡接龙 还不完整。现在没时间搞了记录在这里&#xff0c;等以后有时间了再继续搞。 <template><view class"page_main"><view class"contentone"><canvas class"canvas_cla" style"z-index: 1;" canva…...

oracle表备份及还原

工作中&#xff0c;经常使用Navicat访问及操作Oracle数据库&#xff0c;备份表非常方便Ctrlc、Ctrlv&#xff1b;最近备份表&#xff0c;发现这种操作有问题&#xff1b;数据表有2条检查&#xff0c;使用Ctrlc、Ctrlv操作&#xff0c;发现新备份的表出现4条检查&#xff0c;再对…...

牛客小白月赛89补题1(ABCD)(偏难)

评价&#xff1a; 高情商&#xff1a;收获很大 &#xff0c;让自己进一步认清自己。 低情商&#xff1a;题目难&#xff0c;自己太菜了。 今天还有一些其他事&#xff0c;剩下的题明天再补。 我们从a题开始吧&#xff1a; A.签到 我们只要看看其中的max与min是否不符合即可…...

内存条@电脑支持的最大内存@升级内存硬件

文章目录 电脑支持的最大内存规格cpu官网查看支持的规格命令行查看脚本化 DDR内存LPDDR内存内存升级扩展&#x1f47a;插槽检查板载内存SPD内存厂商其他 内存参数&#x1f47a;性能指标使用软件查看更多内存相关的软件工具 电脑支持的最大内存规格 确认电脑最大支持内存大小和频…...

如何了解AI基础概念

1. **在线课程和教程&#xff1a;** - 寻找在线AI课程或教程&#xff0c;例如Coursera、edX、Udemy等平台上的课程。这些课程通常会从基础概念开始介绍&#xff0c;逐步深入。 2. **书籍阅读&#xff1a;** - 阅读与AI相关的书籍&#xff0c;如《Python深度学习》、《机…...

Apache James数据库存储用户信息的密码加密问题

项目场景 Apache James邮件服务器使用数据库来存储用户信息的密码加密问题&#xff1a; 将James的用户改为数据库存储James密码是如何加密验证的 1.将James的用户改为数据库存储 1、修改存储方式 找到james-2.3.2\apps\james\SAR-INF\config.xml 找到<users-store>标…...

大数据分布式事务的深入理解?

在一个大数据系统内部分布式事务无处不在&#xff0c;但凡一个任务分布到多台机器上执行就会涉及到分布式事务的场景&#xff0c;分布式事务一直以来都是分布式系统比较难以解决的问题。 事务的理解&#xff0c;比如你要将账户A转1块钱到账户B中&#xff0c;那么这个行为在执行…...

LeetCode hot100-17

41. 缺失的第一个正数给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 这题要求空间复杂度为O(1)&#xff0c;要么定义单个变量&#xff0c;要么原地操作。定义长度为n的数…...

java网络原理(二)------TCP确认应答和超时重传

一Tcp协议 TCP&#xff0c;即Transmission Control Protocol&#xff0c;传输控制协议。人如其名&#xff0c;要对数据的传输进行一个详细的控制。 二.TCP协议段格式 知道了端口号才能进一步确认这个数据报交给了哪一个程序。16为端口号是2字节&#xff0c;范围是0到65535.如…...

机器学习:智能时代的核心引擎

目录 一、什么是机器学习 二、监督学习 三、无监督学习 四、半监督学习 五、强化学习 一、什么是机器学习 机器学习是人工智能的一个分支&#xff0c;它主要基于计算机科学&#xff0c;旨在使计算机系统能够自动地从经验和数据中进行学习并改进&#xff0c;而无需进行明确…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...