C++第14届蓝桥杯b组学习笔记
1. 日期统计
小蓝现在有一个长度为 100100 的数组,数组中的每个元素的值都在 00 到 99 的范围之内。数组中的元素从左至右如下所示:
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
现在他想要从这个数组中寻找一些满足以下条件的子序列:
- 子序列的长度为 88;
- 这个子序列可以按照下标顺序组成一个 yyyymmddyyyymmdd 格式的日期,并且要求这个日期是 20232023 年中的某一天的日期,例如 2023090220230902,2023122320231223。yyyyyyyy 表示年份,mmmm 表示月份,dddd 表示天数,当月份或者天数的长度只有一位时需要一个前导零补充。
请你帮小蓝计算下按上述条件一共能找到多少个不同的 20232023 年的日期。对于相同的日期你只需要统计一次即可。
#include <iostream>
using namespace std;
bool st[100000000];
int math[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{// 请在此输入您的代码int a[101]={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 len=8;int cnt=0;for(int i=0;i<100;i++){if(a[i]==2)for(int i2=i+1;i2<100;i2++){if(a[i2]==0)for(int i3=i2+1;i3<100;i3++){if(a[i3]==2)for(int i4=i3+1;i4<100;i4++){if(a[i4]==3){len=4;//年数完了for(int m1=i4+1;m1<100;m1++){if(a[m1]==1||a[m1]==0)//10位只能是1或0{for(int m2=m1+1;m2<100;m2++){if(a[m1]==1&&a[m2]<=2||a[m1]==0)//当m1是1 m2要小于等于1,反之都可以{for(int d1=m2+1;d1<100;d1++){int mymon=a[m1]*10+a[m2];//月if(math[mymon]/10>=a[d1])for(int d2=d1+1;d2<100;d2++){int day=a[d1]*10+a[d2];//日// cout<<mymon<<" "<<day<<endl;if(day<=math[mymon]&&day!=0){int tmp=a[i]*1e7+a[i2]*1e6+a[i3]*1e5+a[i4]*1e4+a[m1]*1e3+a[m2]*100+a[d1]*10+a[d2];if(!st[tmp])//没走过cnt++;// cout<<tmp<<endl;st[tmp]=true;// cout<<cnt<<" cnt:"<<endl;}}}}}}}}}}}}printf("%d",cnt);return 0;
}
2. 冶炼金属
小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时,无法继续冶炼。
现在给出了 N 条冶炼记录,每条记录中包含两个整数 A 和 B,这表示本次投入了 A 个普通金属 O,最终冶炼出了 B 个特殊金属 X。每条记录都是独立的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。
根据这 N 条冶炼记录,请你推测出转换率 V 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。
解题思路
check函数来计算能完成构造b个的最大转换率,然后求构造b+1个特殊金属的最大转换+1即b的最小转换率
AC代码
#include <iostream>
#include<cstdio>
#include<algorithm>
using namespace std;int n;//求最大
int check(int l, int r, int sum, int x)//求最大 r sum是总共的金属 x是特殊的金属
{int mid = 0;// r=1e9;while (l < r){mid = ((l + r ) >> 1)+1;if (sum / mid >= x)//mid可以完成任务或者超额完成l = mid;elser = mid - 1;}return l;
}
int main()
{// 请在此输入您的代码scanf("%d", &n);int maxin = 0x3f3f3f3f;//最大值的最小值int minax = 0;//最小值的最大值// cout<<check(0,9248,9248,1)<<endl;// cout<<"test: "<<check(0,75,75,3)<<endl;for (int i = 0; i < n; i++){int a, b;//a个普通金属,冶炼出b个特殊金属cin >> a >> b;//求最小值的最大值minax = max(minax, check(0, a, a, b + 1) + 1);//求造b+1个特殊金属的最大转换率+1就是最小转换率//求最小值的最大值maxin = min(maxin, check(0, a, a, b));// cout<<maxin<<" "<<endl;}cout << minax << ' ' << maxin << endl;return 0;
}
3. 飞机降落
N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di 个单位时间,即它最早可以于 Ti 时刻开始降落,最晚可以于 Ti+Di时刻开始降落。降落过程需要 Li个单位时间。
一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不能在前一架飞机完成降落前开始降落。
请你判断 N 架飞机是否可以全部安全降落。
解题思路
一个结构体存储,到达时间,可以盘旋时间,降落需要时间。dfs判断是否可以全部降落。状态数组st记得重置
AC代码
#include <iostream>
#include<algorithm>
#include<cstring>
using namespace std;int n;
// pair<int,int> td[11];
struct til
{int t;//到达时间int d;//可以盘旋的时间int l;//降落所需时间bool operator <(struct til& tmp){if(t<tmp.t)return true;else if(t==tmp.t){if(d<tmp.d)return true;else if(d==tmp.d)return l<tmp.l;}return false;}
}til[15];bool st[15];//检测第i架飞机是否降落bool dfs(int cnt,int tim)//cur第几架飞机
{if(cnt==n)return true;for(int i=0;i<n;i++)//枚举所有飞机{if(!st[i])//飞机没走{if(tim>til[i].t+til[i].d)//这架飞机还没走并且超时了return false;int tmp=tim;//当前时间if(tmp<til[i].t)//下一个飞机降落的时间大于当前时间tmp=til[i].t;st[i]=true;if(dfs(cnt+1,tmp+til[i].l))//当前时间加降落所需时间,与下个飞机来到时间下落的时间return true;st[i]=false;//返回}}return false;
}// int l[11];
int main()
{// 请在此输入您的代码int t;scanf("%d",&t);while(t--){memset(st,false,sizeof st);scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d%d%d",&til[i].t,&til[i].d,&til[i].l);}sort(til,til+n);if(dfs(0,0))cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;
}
4. 接龙数列
对于一个长度为 KK 的整数数列:A1,A2,…,AK,我们称之为接龙数列当且仅当 Ai 的首位数字恰好等于 Ai−1Ai−1 的末位数字 (2≤i≤K)(2≤i≤K)。例如 12,23,35,56,61,11 是接龙数列;12,23,34,56不是接龙数列,因为 56 的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。
现在给定一个长度为 N 的数列 A1,A2,…,AN,请你计算最少从中删除多少个数,可以使剩下的序列是接龙序列?
解题思路
线性DP,最长公共子序列一样的模型。以第i个数字为结尾的接龙子序列的集合
暴力过一半测试用例
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
int f[10010];int a[10010];
int b[10010];int main()
{ int n;scanf("%d",&n);for(int i=0;i<n;i++){string s;cin>>s;a[i]=s[0]-'0';b[i]=s[s.size()-1]-'0';}for(int i=0;i<n;i++){f[i]=1;for(int j=0;j<i;j++){if(a[i]==b[j]){f[i]=max(f[i],f[j]+1);}}}int res=0;for(int i=0;i<n;i++){// cout<<f[i]<<" ";if(f[i]>res)res=f[i];}cout<<n-res;return 0;
}
5. 岛屿个数
小蓝得到了一副大小为 M×N 的格子地图,可以将其视作一个只包含字符 '0'(代表海水)和 '1'(代表陆地)的二维数组,地图之外可以视作全部是海水,每个岛屿由在上/下/左/右四个方向上相邻的 '1' 相连接而形成。
在岛屿 AA 所占据的格子中,如果可以从中选出 k 个不同的格子,使得他们的坐标能够组成一个这样的排列:(x0,y0),(x1,y1),…,(xk−1,yk−1),其中 (xi+1modk,yi+1modk) 是由(xi,yi) 通过上/下/左/右移动一次得来的 (0≤i≤k−1)(0≤i≤k−1),此时这 k 个格子就构成了一个“环”。如果另一个岛屿 B 所占据的格子全部位于这个“环”内部,此时我们将岛屿 B 视作是岛屿 A 的子岛屿。若B 是 A 的子岛屿,C 又是 B 的子岛屿,那 C 也是 A 的子岛屿。
请问这个地图上共有多少个岛屿?在进行统计时不需要统计子岛屿的数目。
解题思路
正难则反,我们仔细想一下怎么才能知道一个岛是子岛屿呢,就是这个岛所临的海只要有外海就说明这个岛能联通外界不是子岛屿,而只联通内海呢,就说明它被一个岛屿所包含了。至于判断是外海还是内海,只要遍历边界的海(因为地图外的海一定是外海,与边界的海相连的海就是外海,不联通的就是内海)。遍历所有的没走过的陆地,临着外海就是一个独立的岛屿
AC代码
#include <iostream>
#include<queue>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;char map[55][55];
int n, m;int dxx[8] = { 0,0,1,-1,1,1,-1,-1 };//看海是否是内陆海
int dyy[8] = { 1,-1,0,0,1,-1,1,-1 };int dx[4] = { 0,0,1,-1 };
int dy[4] = { 1,-1,0,0 };
bool sth[55][55];//标记海洋是否流到
bool stl[55][55];//标记所有陆地
void bfs1(int x, int y)
{queue<pair<int, int>> q;q.push({ x,y });sth[x][y] = true;//while (!q.empty()){int x1 = q.front().first;int y1 = q.front().second;q.pop();for (int i = 0; i < 8; i++){int x2 = dxx[i] + x1;int y2 = dyy[i] + y1;if (x2 >= n || x2 < 0 || y2 < 0 || y2 >= m)//越界continue;if (sth[x2][y2] || map[x2][y2] != '0')//走过了或不是海洋continue;sth[x2][y2] = true;q.push({ x2,y2 });}}
}bool bfs(int x, int y)
{queue<pair<int, int>> q;q.push({ x,y });stl[x][y] = true;//int f = false;//标记是否通往外海while (!q.empty()){int x1 = q.front().first;int y1 = q.front().second;q.pop();for (int i = 0; i < 4; i++){int x2 = dx[i] + x1;int y2 = dy[i] + y1;if (x2 >= n || x2 < 0 || y2 < 0 || y2 >= m)//越界continue;//四周的海只要有外海if (map[x2][y2] == '0' && sth[x2][y2])//是海并且这个海通往外海f = true;if (stl[x2][y2] || map[x2][y2] != '1')//走过了或不是陆地continue;stl[x2][y2] = true;q.push({ x2,y2 });}}return f;//说明是否通往外海,不连接外海的一定是环内的
}int main()
{// 请在此输入您的代码int t;scanf("%d", &t);while (t--){scanf("%d %d", &n, &m);memset(sth, false, sizeof sth);memset(stl, false, sizeof stl);//memset(map, '0', sizeof map);//cout << n << m << endl;for (int i = 0; i < n; i++){cin >> map[i];}bool f = true;for (int i = 0; i < n; i++){if (!sth[i][0] && map[i][0] == '0')//没走过并且是海洋{bfs1(i, 0);f = false;//表示地图周围有海}if (!sth[i][m - 1] && map[i][m - 1] == '0')bfs1(i, m - 1), f = false;}for (int j = 0; j < m; j++){if (!sth[0][j] && map[0][j] == '0')bfs1(0, j), f = false;if (!sth[n - 1][j] && map[n - 1][j] == '0')bfs1(n - 1, j), f = false;}//max(0,n-1)if (f)//四周全是陆地就输出1即可cout << 1 << endl;else{int cnt = 0;for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (!stl[i][j] && map[i][j] == '1')//没走过并且是陆地if (bfs(i, j))cnt++;}}cout << cnt << endl;}//将所有最外层的海进行bfs,八个方向能流到的地方,肯定就不是内海}return 0;
}
6. 子串简写
程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如 internation-alization 简写成 i18n,Kubernetes (注意连字符不是字符串的一部分)简写成 K8s, Lanqiao 简写成 L5o 等。
在本题中,我们规定长度大于等于 KK 的字符串都可以采用这种简写方法(长度小于 K 的字符串不配使用这种简写)。
给定一个字符串 S 和两个字符 c1 和 c2 ,请你计算 S 有多少个以 c1 开头 c2 结尾的子串可以采用这种简写?
解题思路
这题可以运用双指针来遍历区间,但是这样还不够,还可以用前缀和的思想来优化,我们来从后往前维护一段长度为k的区间来预处理b的数量,遇到b就统计下来b的数量,遇到a就统一结算之前b的数量。
AC代码
注释掉的为暴力代码
#include <iostream>
#include<string>
#include<cstdio>
using namespace std;// pair<char,char> fe[500010];
int k;
string s;
char c1,c2;
int main()
{// 请在此输入您的代码scanf("%d",&k);cin>>s>>c1>>c2;long long cnt=0;long long res=0;//前缀和思想for(int r=s.size()-1,l=s.size()-k;l>=0;r--,l--){if(s[r]==c2) cnt++;//统计可以当结尾的数量if(s[l]==c1) res+=cnt;//遇到一个可以当头的,加上所有可以当结尾的,字符数量}// for(int l=0;l+k-1<s.size();l++)// {// if(s[l]==c1)//以c1开头// {// int r=l+k-1;// while(r<s.size())// {// if(s[r]==c2)// cnt++;// r++;// }// }// }cout<<res<<endl;return 0;
}
7. 景区导游
某景区一共有 N 个景点,编号 1 到 N。景点之间共有 N−1 条双向的摆渡车线路相连,形成一棵树状结构。在景点之间往返只能通过这些摆渡车进行,需要花费一定的时间。
小明是这个景区的资深导游,他每天都要按固定顺序带客人游览其中 K 个景点:A1,A2,…,AK。今天由于时间原因,小明决定跳过其中一个景点,只带游客按顺序游览其中 K−1 个景点。具体来说,如果小明选择跳过 Ai,那么他会按顺序带游客游览 A1,A2,…,Ai−1,Ai+1,…,AK,(1≤i≤K)。
请你对任意一个 Ai,计算如果跳过这个景点,小明需要花费多少时间在景点之间的摆渡车上?
暴力思路
构建邻接表,通过dfs计算出所需游览所有景点的总长度。
再依次枚举要游览的景点,将其删除,此时有三种情况
1. 删除的景点是a[0],即第一次去的景点,此时第一次就不去a[0]了,直接去a[1]所以直接减去a[0]到a[1]的距离即可
2. 删除的景点是a[k-1],即最后一次要去的景点,此时a[k-2]就是终点,减去a[k-2]到a[k-1]的距离即可
3. 减去的景点不是第一个与最后一个,那就减去当前景点去上一个景点的距离,与去下一个景点的距离
暴力过一半数据
#include <iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<vector>
using namespace std;vector<pair<int,int>> edge[100010];
map<pair<int,int >,long long> len;//记录a到b需要走多少
int n,k;
int a[100010];//其实位置,当前位置,上个位置,终点,走的距离
bool dfs(int st,int u,int father,int end,int sum)
{if(u==end){len[{st,end}]=sum;len[{end,st}]=sum;//两个都记录一下return true;}for(auto c:edge[u]){if(c.first!=father)//下一个位置不是自己的父亲节点{if(dfs(st,c.first,u,end,sum+c.second)){return true;}}}return false;
}
int main()
{// 请在此输入您的代码scanf("%d%d",&n,&k);for(int i=0;i<n-1;i++){int u,v,t;scanf("%d%d%d",&u,&v,&t);edge[u].push_back({v,t});edge[v].push_back({u,t}); }for(int i=0;i<k;i++){scanf("%d",&a[i]);}long long res=0;//记录路径总长度for(int i=0;i<k-1;i++){dfs(a[i],a[i],-1,a[i+1],0);//计算a[i]到a[i+1]所需的长度res+=len[{a[i],a[i+1]}];//}for(int i=0;i<k;i++){long long tmp=res;if(i==0)//如果是跳过第一个景点{tmp-=len[{a[i],a[i+1]}];//就是直接从第二个景点开始}else if(i==k-1)//跳过最后一个景点{tmp-=len[{a[i-1],a[i]}];//删除倒数第二个景点去第二个景点的距离}else//计算删除景点的上一个景点去下一个景点的距离{tmp=tmp-len[{a[i],a[i+1]}]-len[{a[i-1],a[i]}];//dfs(a[i-1],a[i-1],-1,a[i+1],0);tmp+=len[{a[i-1],a[i+1]}];}cout<<tmp<<" ";}return 0;
}
这篇就到这里啦,(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤
相关文章:
C++第14届蓝桥杯b组学习笔记
1. 日期统计 小蓝现在有一个长度为 100100 的数组,数组中的每个元素的值都在 00 到 99 的范围之内。数组中的元素从左至右如下所示: 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…...
4.5蓝桥杯|高塔登顶方案(5025)
作者语录: 1、 从不会做到会做的过程,从不理解到不理解的过程,从一个不会做这道题的人的角度出发看这个问题,好命苦嗷嗷嗷! 2、只有我受煎熬吗,偶买噶,,, 目录 研究步骤…...
[MySQL初阶]MySQL(9)事务机制
标题:[MySQL初阶]MySQL(9)事物机制 水墨不写bug 文章目录 一、认识事务1、多线程访问数据库出现的问题2、对CURD的限制是通过事务机制实现的3、事务的四个属性4、哪些引擎支持事务 二、事务的提交与autocommit设置三、事务的隔离性和隔离级别…...
3535 数组分割
3535 数组分割 ⭐️难度:困难 🌟考点:2023、省赛、动态规划 📖 📚 import java.util.*;public class Main {static int MOD 1000000007;static int N 1005;public static void main(String[] args) {Scanner sc …...
线程池的工作原理
固定线程池:线程池中的线程数是固定的,线程池创建时就已经设定了固定的线程数量。在任务提交时,线程池会将任务分配给空闲的线程执行。如果所有线程都在执行任务,新的任务会被放到任务队列中,直到有线程空闲出来。 线…...
论文导读 | SOSP23 | Gemini:大模型 内存CheckPoint 快速故障恢复
本期分享的是一篇SOSP 2023论文: Gemini: Fast Failure Recovery in Distributed Training with In-Memory Checkpoints Zhuang Wang (Rice University), Zhen Jia (Amazon Web Services, Inc.), Shuai Zheng (Amazon Web Services), Zhen Zhang (Amazon Web Servic…...
windows 常用命令总结
工作中用到的 Linux 总结(持续更新中...)_linux工作经验-CSDN博客 PS: 推荐使用 powershell 而不是 cmd,因为PowerShell 是一个更先进和功能更强大的工具( powershell 有命令记忆功能,比较方便)…...
【Linux】进程间通信、匿名管道、进程池
一.什么是通信 进程间通信(Inter-Process Communication,IPC),是指在操作系统中,不同进程之间进行数据交换和同步的机制。由于每个进程通常拥有独立的内存空间,进程间无法直接访问对方的内存,因此需要通过特定的机制来实现通信和…...
【Block总结】PlainUSR的局部注意力,即插即用|ACCV2024
论文信息 标题: PlainUSR: Chasing Faster ConvNet for Efficient Super-Resolution作者: Yan Wang, Yusen Li, Gang Wang, Xiaoguang Liu发表时间: 2024年会议/期刊: 亚洲计算机视觉会议(ACCV 2024)研究背景: 超分辨率(Super-Resolution, S…...
35信号和槽_信号槽小结
Qt 信号槽 1.信号槽是啥~~ 尤其是和 Linux 中的信号进行了对比(三要素) 1) 信号源 2) 信号的类型 3)信号的处理方式 2.信号槽 使用 connect 3.如何查阅文档. 一个控件,内置了哪些信号,信号都是何时触发 一…...
现代复古电影海报品牌徽标设计衬线英文字体安装包 Thick – Retro Vintage Cinematic Font
Thick 是一种大胆的复古字体,专为有影响力的标题和怀旧的视觉效果而设计。其厚实的字体、复古魅力和电影风格使其成为电影海报、产品标签、活动品牌和编辑设计的理想选择。无论您是在引导电影的黄金时代,还是在现代布局中注入复古活力,Thick …...
低代码开发平台:飞帆画 echarts 柱状图
https://fvi.cn/711 柱状图这个控件是由折线图的控件改过来的,在配置中,单选框选择柱状图就行了。...
Linux中C++ gdb调试命令
编译可执行文件需要带上-g选项参数 输入回车则重复执行上一次命令; 进入gdb: gdb 程序名运行gdb命令: r打断点命令: b 行号查看断点命令: i b打印变量命令: p 变量名持续查看变量命令: d…...
Python精进系列:从 __name__ 开始了解 python 常见内置变量
目录 引言一、__name__是什么?案例1:直接运行模块案例2:模块被导入 二、__name__的主要用途(一)区分主程序和导入模块案例3:测试代码隔离(二)动态导入模块案例4:根据环境…...
Nacos 服务发现的核心模型有哪些?Service, Instance, Cluster 之间的关系是什么?
Nacos 服务发现的核心模型 Nacos 服务发现的核心数据模型主要围绕以下几个关键概念构建,它们共同构成了服务注册与发现的基础: Namespace (命名空间): 用途: 用于进行环境隔离。比如,你可以为开发环境 (dev)、测试环境 (test) 和生产环境 (p…...
Java程序设计第1章:概述
一、Hello World 1.代码: public class HelloWorld {public static void main(String[] args){System.out.println("Hello World!");} } 2.运行结果: Hello World! 二、输出姓名、学号、班级 1.题目: 编写一个Application&a…...
C++开发工具全景指南
专业编译与调试工具深度解析 2025年4月 编译器套件 GNU Compiler Collection (GCC) GNU编译器套件是自由软件基金会开发的跨平台编译器系统,支持C、C、Objective-C、Fortran、Ada等多种编程语言。作为Linux系统的标准编译器,GCC以其强大的优化能力和…...
Java的Selenium的特殊元素操作与定位之iframe切换
iframe切换 四种切换方式: driver.switchTo().frame(index);driver.switchTo().frame(id);driver.switchTo().frame(name);driver.switchTo().frame(WebElement); 切换之后,回到默认内容页面(否则会找不到元素 driver.switchTo().defaultContent(); //iframe处…...
AI比人脑更强,因为被植入思维模型【42】思维投影思维模型
giszz的理解:本质和外在。我们的行为举止,都是我们的内心的表现。从外边可以看内心,从内心可以判断外在。曾国藩有7个识人的方法,大部分的人在他的面前如同没穿衣服一样。对于我们自身的启迪,我认为有四点&…...
7-12 最长对称子串(PTA)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出格式&…...
嵌入式AI的本地化部署的好处
嵌入式AI本地化处理(即边缘计算)的核心优势在于将AI算力下沉至设备端,直接处理数据而非依赖云端,这种模式在多个维度上展现出显著价值: 一、数据隐私与安全性提升 1. 敏感数据本地存储 金融、医疗等涉及隐私的行业…...
0基础 | 硬件 | 电源系统 一
降压电路LDO 几乎所有LDO都是基于此拓扑结构 图 拓扑结构 LDO属于线性电源,通过控制开关管的导通程度实现稳压,输出纹波小,无开关噪声 线性电源,IoutIin,发热功率P电压差△U*电流I,转换效率Vo/Vi LDO不适…...
LeetCode详解之如何一步步优化到最佳解法:20. 有效的括号
LeetCode详解系列的总目录(持续更新中): LeetCode详解之如何一步步优化到最佳解法:前100题目录(更新中...)-CSDN博客 LeetCode详解系列的上一题链接: LeetCode详解之如何一步步优化到最佳解法…...
LeetCode18四数之和
代码来源:代码随想录 /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/ int com…...
《K230 从熟悉到...》无线网络
《K230 从熟悉到...》无线网络 STA模式 《庐山派 K230 从熟悉到...》无线网络 无线网络中通常是STA(Station,站点)和AP(Access Point,无线接入点)。 STA(站点) 定义:STA…...
去中心化指数(链上ETF)
去中心化指数(链上ETF) 核心概念 去中心化指数: 类似传统金融的ETF(交易所交易基金),通过一篮子代币分散投资风险,无需主动管理。 核心价值:降低研究成本、分散风险、自动化资产…...
LeeCode题库第1695题
项目场景: 给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组。删除子数组的 得分 就是子数组各元素之 和 。 返回 只删除一个 子数组可获得的 最大得分 。 如果数组 b 是数组 a 的一个连续子序列,即如果它等于 a[l],…...
【LeetCode 热题100】23:合并 K 个升序链表(详细解析)(Go语言版)
🚀 LeetCode 热题 23:合并 K 个升序链表(详细解析) 📌 题目描述 LeetCode 23. Merge k Sorted Lists 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合…...
LeetCode hot 100—删除链表的倒数第N个节点
题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…...
超级科学软件实验室(中国) : Super Scientific Software Laboratory (SSSLab)
Super Scientific Software Laboratory (SSSLab) gitee 官网...
2025大唐杯仿真1——车联网
车联网 V2N是指车辆与网络 Uu接口是用户设备(UE)与基站之间的通信接口,用于终端和基站之间的通信 Uu接口可用的是N41频段,归属中国移动 车辆间交互是V2V,频段是PCS PC5接口是一种用于设备间直接通信(D2D…...
云资源合规基线:确保云环境安全与合规的完整指南
1. 引言 随着越来越多的企业将其IT基础设施迁移到云端,确保云资源的安全性和合规性变得至关重要。云资源合规基线是一套最佳实践和标准,旨在帮助组织维护安全、高效且符合法规要求的云环境。本文将深入探讨云资源合规基线的各个方面,为IT管理者和安全专业人士提供全面的指导。…...
1.0 软件测试全流程解析:从计划到总结的完整指南
软件测试全流程解析:从计划到总结的完整指南 摘要 本文档详细介绍了软件测试的完整流程,包括测试计划、测试设计、测试执行、测试报告和测试总结等主要阶段。每个阶段都从目标、主要工作、输出物和注意事项等方面进行了详细说明。通过本文档࿰…...
@reduxjs/toolkit 报错,解决
项目场景: 使用redux存储状态,写一个reducer 问题描述 报错:Uncaught Error: A case reducer on a non-draftable value must not return undefined import { createSlice } from "reduxjs/toolkit"; //错误写法 const counterS…...
C++蓝桥杯实训篇(二)
片头 嗨咯~小伙伴们!今天我们来一起学习算法和贪心思维,准备好了吗?咱们开始咯! 第1题 数位排序 对于这道题,我们需要自己写一个排序算法,也就是自定义排序,按照数位从小到大进行排序。 举一…...
YY forget password
YY forget password 老早以前的语音工具,游戏团队协作工具...
Kafka 如何解决消息堆积问题?
Kafka 的消息堆积问题是实际生产中经常遇到的情况,尤其在高并发、大流量、消费者故障或处理速度慢的情况下,非常容易出现。 下面我从诊断 解决方案 实战技巧三步帮你梳理清楚: 🔍 一、先判断:是否真的“堆积”&…...
如何通过优化HMI设计大幅提升产品竞争力?
一、HMI设计的重要性与竞争力提升 HMI(人机交互界面)设计在现代产品开发中扮演着至关重要的角色。良好的HMI设计不仅能够提升用户体验,还能显著增强产品的竞争力。在功能趋同的市场环境中,用户体验成为产品竞争的关键。HMI设计通…...
2025大唐杯仿真4——信令流程
Preamble请求...
MyBatis Plus 在 ZKmall开源商城持久层的优化实践
ZKmall开源商城作为基于 Spring Cloud 的高性能电商平台,其持久层通过 MyBatis Plus 实现了多项深度优化,涵盖分库分表、缓存策略、分页性能、多租户隔离等核心场景。以下是具体实践总结: 一、分库分表与插件集成优化 1. 分库分表策略 Sh…...
Qt多线程从基础到性能优化
一、为什么需要多线程开发 现代应用程序的性能需求 CPU多核架构的有效利用 复杂任务的解耦与响应式界面保持 二、Qt线程创建四大方式 1. 继承QThread重写run() class WorkerThread : public QThread {void run() override {// 耗时操作qDebug() << "Thread ID…...
Spring常见问题复习
############Spring############# Bean的生命周期是什么? BeanFactory和FactoryBean的区别? ApplicationContext和BeanFactory的区别? BeanFactoryAware注解,还有什么其它的Aware注解 BeanFactoryAware方法和Bean注解的方法执行顺…...
股票日数据使用_未复权日数据生成前复权日周月季年数据
目录 前置: 准备 代码:数据库交互部分 代码:生成前复权 日、周、月、季、年数据 前置: 1 未复权日数据获取,请查看 https://blog.csdn.net/m0_37967652/article/details/146435589 数据库使用PostgreSQL。更新日…...
【C++】从零实现Json-Rpc框架(2)
目录 JsonCpp库 1.1- Json数据格式 1.2 - JsonCpp介绍 • 序列化接口 • 反序列化接口 1.3 - Json序列化实践 JsonCpp使用 Muduo库 2.1 - Muduo库是什么 2.2 - Muduo库常见接口介绍 TcpServer类基础介绍 EventLoop类基础介绍 TcpConnection类基础介绍 TcpClient…...
JVM虚拟机篇(二):深入剖析Java与元空间(MetaSpace)
这里写目录标题 JVM虚拟机篇(二):深入剖析Java与元空间(MetaSpace)一、引言二、全面认识Java2.1 Java的起源与发展历程2.2 Java的特性2.2.1 简单性2.2.2 面向对象2.2.3 平台无关性2.2.4 健壮性2.2.5 安全性2.2.6 多线程…...
NDK开发:音视频处理基础
音视频处理基础 一、音视频基础 1.1 音视频基本概念 视频编码格式 H.264/AVCH.265/HEVCVP8/VP9AV1音频编码格式 AACMP3PCMOPUS封装格式 MP4FLVMKVTS1.2 音视频处理流程 视频处理流程 采集(Camera/Screen)预处理(美颜/滤镜)编码(H.264/H.265)封装传输/存储音频处理流程 …...
【数字电路】第一章 数制和码制
一、数码的基本概念 1.数制 2.码制 二、几种常用的数制 三、不同数制间的转换 八进制和十六进制间通常不直接进行转换,而是先转换成二进制或十进制然后再进行转换。 1.任意进制→十进制(N—十转换) 2.十进制→任意进制(十—N转换…...
软件工程面试题(二十九)
1、Internet的最顶级的商业域名叫什么? 答: .com 2、GC是什么,为什么要使用它? 垃圾回收 (garbage collection, GC) 一个跟踪过程,它传递性地跟踪指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此跟踪过程中未找到的任何堆内存。公共语言运行…...
6.第二阶段x64游戏实战-分析人物状态
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:5.第二阶段x64游戏实战-动态模块地址 人物状态是与角色相关的,如果…...
Synopsys:设计对象
相关阅读 Synopsyshttps://blog.csdn.net/weixin_45791458/category_12812219.html?spm1001.2014.3001.5482 对于Synopsys的EDA工具(如Design Compiler、PrimeTime、IC Compiler)等,设计对象(Design Objects)是组成整个设计的抽象表示&…...