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

C++学习笔记2

T1 奇怪的教室

题目背景

LSU 的老师有个奇怪的教室,同学们会从左到右坐成一个横排,并且同一个位置可以坐多个同学。这天,入学考试的成绩下来了。同学们想根据入学考试的成绩,找出班里学霸扎堆的区域“学霸区”。

题目描述

共有 N N N 个同学。给定每个同学的座位号 X i X_i Xi,以及入学考试的分数 S i S_i Si。多个同学的座位号可能相同。现在给定“学霸区”长度 L L L,请找出所有长度为 L L L 的座位号区间,考试分数之和的最大值。

输入格式

第一行两个整数 N , L N,L N,L,表示学生数量和“学霸区”长度。

接下来 N N N 行,每行两个整数 X i X_i Xi S i S_i Si,表示学生座位号和分数。

输出格式

一个数,表示所有长度为 L L L 的座位号区间,考试分数之和的最大值。

样例 #1

样例输入 #1

6 3
1 2
2 4
3 8
4 4
5 2
1000 1

样例输出 #1

16

提示

样例说明

选择长度为 3 3 3 的座位号区间 [ 2 , 4 ] [2,4] [2,4],则包含 3 3 3 位同学,其座位号和分数分别为:

2 4
3 8
4 4

分数之和为 4 + 8 + 4 = 16 4+8+4=16 4+8+4=16,最大。

数据范围说明

对于 10 % 10\% 10% 的数据, L = 0 L=0 L=0(没有边缘);

对于 40 % 40\% 40% 的数据, L ≤ 1000 L\leq 1000 L1000

对于 100 % 100\% 100% 的数据, 1 ≤ N ≤ 1 0 5 1 \leq N\leq 10 ^ 5 1N105 0 ≤ L ≤ 1 0 5 0 \leq L\leq 10 ^ 5 0L105 1 ≤ X i ≤ 1 0 5 1 \leq X_i\leq 10 ^ 5 1Xi105 1 ≤ S i ≤ 100 1\leq S_i\leq 100 1Si100

L = 0 L=0 L=0 的情况外, L L L 均为 ≥ 3 \geq 3 3 的奇数。

坑点 & 正解

坑点:同一个座位上能做很多人,就能“叠高高”。例如这个样例:

5 1
1 100
1 100
1 100
1 100
2 100

1 1 1 这个座位能拿 400 400 400 分。

正解:前缀和。

时间复杂度: O ( max ⁡ ( X i ) ) O(\max(X_i)) O(max(Xi))

#include <bits/stdc++.h>
//#define int long long
using namespace std;int n,m;
int mx;const int N = 100010;
int a[N],b[N]; int ans;void solve()
{scanf("%d%d",&n,&m);for (int i = 1;i <= n;i++){int x,y;scanf("%d%d",&x,&y);a[x] += y;mx = max(mx,x); //最大的座位号 }//前缀和 for (int i = 1;i <= mx;i++)b[i] = b[i-1] + a[i];for (int i = 1;i <= mx-m+1;i++)ans = max(ans,b[i+m-1]-b[i-1]);cout << ans; 
}signed main()
{int TTT;
//	cin >> TTT;TTT = 1;while (TTT--) solve();return 0;
}

T2 安排班级

题目背景

新学期开始了,LSU 的老师迎来了若干个学生。现在老师要给大家分配班级。

题目描述

只考虑分配给每个班的学生人数。把总共 M M M 个同学分配到总共 N N N 个班里,可以有 0 0 0 个同学的班。请问,一共有多少种不同的分配方案?

注意:假设有 4 4 4 个学生, 3 3 3 个班。 [ 1 , 1 , 2 ] [1,1,2] [1,1,2] [ 1 , 2 , 1 ] [1,2,1] [1,2,1] [ 2 , 1 , 1 ] [2,1,1] [2,1,1] 均视为相同的分配方案。 [ 0 , 2 , 2 ] [0,2,2] [0,2,2] [ 2 , 1 , 1 ] [2,1,1] [2,1,1] 视为不同的分配方案。

输入格式

包含多组测试数据。

第一行为一个整数,表示测试数据的数目 T T T

接下来 T T T行,每行均包括二个整数 M M M N N N

输出格式

T T T 行,为对每组测试数据的结果。

样例 #1

样例输入 #1

1
7 3

样例输出 #1

8

样例 #2

样例输入 #2

3
3 2
4 3
2 7

样例输出 #2

2
4
2

提示

样例1说明
8 8 8 种方案分别为: [ 0 , 0 , 7 ] , [ 0 , 1 , 6 ] , [ 0 , 2 , 5 ] , [ 0 , 3 , 4 ] , [ 1 , 1 , 5 ] , [ 1 , 2 , 4 ] , [ 1 , 3 , 3 ] , [ 2 , 2 , 3 ] [0,0,7],[0,1,6],[0,2,5],[0,3,4],[1,1,5],[1,2,4],[1,3,3],[2,2,3] [0,0,7],[0,1,6],[0,2,5],[0,3,4],[1,1,5],[1,2,4],[1,3,3],[2,2,3]

数据范围
对于所有数据,保证: 1 ≤ M , N ≤ 10 1\leq M,N\leq 10 1M,N10 0 ≤ T ≤ 20 0 \leq T \leq 20 0T20

坑点 & 正解

坑点:可以有 0 0 0 个同学的班!

正解:一看数据范围就知道是 DFS 暴搜。注意,因为不能分相同的分配方案,所以需要非严格递增去安排人数。

时间复杂度: O ( N ! ) O(N!) O(N!)

老师的正解:打表。

时间复杂度: O ( 1 ) O(1) O(1),完美过关!

赛时正解:

#include <bits/stdc++.h>
#define int long long
using namespace std;int sum;
int a[30];
int m,n;void dfs(int s,int dep,int last)
{if (dep == n-1){sum++;return ;}for (int i = last;i <= s/(n-dep);i++){a[dep] = i;dfs(s-i,dep+1,i);}
}void solve()
{scanf("%lld%lld",&m,&n);dfs(m,0,0);printf("%lld\n",sum);sum = 0;
}signed main()
{int TTT;scanf("%lld",&TTT);
//	TTT = 1;while (TTT--) solve();return 0;
}

我做的:

#include <bits/stdc++.h>
//#define int long long
using namespace std;void solve()
{int m,n;cin >> m >> n;if (m == 1){if (n == 1) cout << 1;if (n == 2) cout << 1;if (n == 3) cout << 1;if (n == 4) cout << 1;if (n == 5) cout << 1;if (n == 6) cout << 1;if (n == 7) cout << 1;if (n == 8) cout << 1;if (n == 9) cout << 1;if (n == 10) cout << 1;}if (m == 2){if (n == 1) cout << 1;if (n == 2) cout << 2;if (n == 3) cout << 2;if (n == 4) cout << 2;if (n == 5) cout << 2;if (n == 6) cout << 2;if (n == 7) cout << 2;if (n == 8) cout << 2;if (n == 9) cout << 2;if (n == 10) cout << 2;}if (m == 3){if (n == 1) cout << 1;if (n == 2) cout << 2;if (n == 3) cout << 3;if (n == 4) cout << 3;if (n == 5) cout << 3;if (n == 6) cout << 3;if (n == 7) cout << 3;if (n == 8) cout << 3;if (n == 9) cout << 3;if (n == 10) cout << 3;}if (m == 4){if (n == 1) cout << 1;if (n == 2) cout << 3;if (n == 3) cout << 4;if (n == 4) cout << 5;if (n == 5) cout << 5;if (n == 6) cout << 5;if (n == 7) cout << 5;if (n == 8) cout << 5;if (n == 9) cout << 5;if (n == 10) cout << 5;}if (m == 5){if (n == 1) cout << 1;if (n == 2) cout << 3;if (n == 3) cout << 5;if (n == 4) cout << 6;if (n == 5) cout << 7;if (n == 6) cout << 7;if (n == 7) cout << 7;if (n == 8) cout << 7;if (n == 9) cout << 7;if (n == 10) cout << 7;}if (m == 6){if (n == 1) cout << 1;if (n == 2) cout << 4;if (n == 3) cout << 7;if (n == 4) cout << 9;if (n == 5) cout << 10;if (n == 6) cout << 11;if (n == 7) cout << 11;if (n == 8) cout << 11;if (n == 9) cout << 11;if (n == 10) cout << 11;}if (m == 7){if (n == 1) cout << 1;if (n == 2) cout << 4;if (n == 3) cout << 8;if (n == 4) cout << 11;if (n == 5) cout << 13;if (n == 6) cout << 14;if (n == 7) cout << 15;if (n == 8) cout << 15;if (n == 9) cout << 15;if (n == 10) cout << 15;}if (m == 8){if (n == 1) cout << 1;if (n == 2) cout << 5;if (n == 3) cout << 10;if (n == 4) cout << 15;if (n == 5) cout << 18;if (n == 6) cout << 20;if (n == 7) cout << 21;if (n == 8) cout << 22;if (n == 9) cout << 22;if (n == 10) cout << 22;}if (m == 9){if (n == 1) cout << 1;if (n == 2) cout << 5;if (n == 3) cout << 12;if (n == 4) cout << 18;if (n == 5) cout << 23;if (n == 6) cout << 26;if (n == 7) cout << 28;if (n == 8) cout << 29;if (n == 9) cout << 30;if (n == 10) cout << 30;}if (m == 10){if (n == 1) cout << 1;if (n == 2) cout << 6;if (n == 3) cout << 14;if (n == 4) cout << 23;if (n == 5) cout << 30;if (n == 6) cout << 35;if (n == 7) cout << 38;if (n == 8) cout << 40;if (n == 9) cout << 41;if (n == 10) cout << 42;}cout << '\n';
}signed main()
{int TTT;cin >> TTT;while (TTT--) solve();return 0;
}

同学评论:

帅爆了!

二维数组打表:

#include <bits/stdc++.h>
//#define int long long
using namespace std;int a[20][20] = {{1,1,1,1,1,1,1,1,1,1},{1,2,2,2,2,2,2,2,2,2},{1,2,3,3,3,3,3,3,3,3},{1,3,4,5,5,5,5,5,5,5},{1,3,5,6,7,7,7,7,7,7},{1,4,7,9,10,11,11,11,11,11},{1,4,8,11,13,14,15,15,15,15},{1,5,10,15,18,20,21,22,22,22},{1,5,12,18,23,26,28,29,30,30},{1,6,14,23,30,35,38,40,41,42}};void solve()
{int m,n;cin >> m >> n;cout << a[m-1][n-1] << '\n';
}signed main()
{int TTT;cin >> TTT;while (TTT--) solve();return 0;
}

T3 名牌

题目背景

LSU 的学校要举行撕名牌大赛,每个同学在比赛前可以自己选择一个字符串作为自己的名牌。

题目描述

LSU 想根据自己好朋友 CBJ 的名牌 A A A,来决定自己的名牌 B B B

规则如下:

  1. LSU 将 CBJ 的名牌 A A A 复制一份放在末尾,得到字符串 A + A A+A A+A

  2. 在上一步得到的字符串中,LSU 任选一个位置,插入一个任意字符,得到自己的名牌 B B B

现在给定 LSU 的名牌 B B B,你能找出 CBJ 的名牌 A A A 吗?

输入格式

第一行一个整数 N N N 代表 LSU 的名牌 B B B 的长度。
第二行一个长度为 N N N 的字符串 B B B

输出格式

  • 如果能从 B B B 得到多种可行的 A A A ,输出 NOT UNIQUE
  • 如果能从 B B B 得到唯一可行的 A A A ,输出该唯一解字符串。
  • 如果不能从 B B B 得到至少一种可行的 A A A ,输出 NOT POSSIBLE

样例 #1

样例输入 #1

9
ABABABABA

样例输出 #1

NOT UNIQUE

样例 #2

样例输入 #2

7
CBXACBA

样例输出 #2

CBA

样例 #3

样例输入 #3

3
XYZ

样例输出 #3

NOT POSSIBLE

提示

数据规模与约定

本题采用捆绑测试。

  • 子任务 1( 35 35 35 分): N ≤ 2001 N \le 2001 N2001
  • 子任务 2( 65 65 65 分): 2 ≤ N ≤ 2 × 1 0 6 + 1 2 \le N \le 2 \times 10^6+1 2N2×106+1

数据保证 B B B 中只包含大写字母。

坑点 & 部分分 & 正解

坑点:字符串长度可能为偶数!

部分分就是暴力做法:

  • 枚举任意字符串的下标 i i i
  • B B B 字符串去掉这个任意字符
  • 拆成左右两部分
  • 判断左右是否相等

正解:哈希+前缀和。

  • 将时间复杂度从 O ( N 2 ) → O ( N ) O(N^2) \to O(N) O(N2)O(N)
  1. 特判字符串 S S S 长为偶数,不可能
  2. 计算哈希前缀和数组 h h h h i h_i hi 表示 s 1 , s 2 , s 3 … s i s_1,s_2,s_3\dots s_i s1,s2,s3si 的哈希值
  3. 预处理出哈希乘数 b a s e base base i i i 次方, p r e i = p r e i − 1 × b a s e pre_i=pre_{i-1}\times base prei=prei1×base
  4. 枚举插入字符的位置,比较剩下的字符串中,左右两部分的哈希值是否相等。 [ l , r ] [l,r] [l,r] 的哈希值是 h r − h l − 1 × p r e r − l + 1 h_r-h_{l-1}\times pre_{r-l+1} hrhl1×prerl+1
  5. 若左右两部分哈希值相等,sum++记录答案。
  6. s u m ≥ 2 sum\ge2 sum2,输出 NOT UNIQUE
  7. s u m = 1 sum=1 sum=1,输出唯一解
  8. s u m = 0 sum=0 sum=0,输出 NOT POSSIBLE

正解:

#include <bits/stdc++.h>
#define int long long
using namespace std;int n,mid;
char s[2000010];int base = 22783;
int la,lb;int pre[2000010],h[2000010];
string a,b,c,d;int _hash(int l,int r) {return h[r]-h[l-1]*pre[r-l+1];}
int __hash(int l,int r,int k) {return _hash(l,k-1)*pre[r-k]+_hash(k+1,r);}int sum;void solve()
{cin >> n >> s+1;mid = (n+1) / 2; if (n % 2 == 0){cout << "NOT POSSIBLE";return ;}pre[0] = 1;for (int i = 1;i <= n;i++){pre[i] = pre[i-1] * base;h[i] = h[i-1] * base + (s[i] - 'A' + 1);}la = _hash(mid+1,n);for (int i = mid+1;i <= n;i++) a.push_back(s[i]);for (int i = 1;i <= mid;i++){lb = __hash(1,mid,i);if (la == lb){sum++;c = a;break;}}lb = _hash(1,mid-1);for (int i = 1;i < mid;i++) b.push_back(s[i]);for (int i = mid;i <= n;i++){la = __hash(mid,n,i);if (la == lb){sum++;d = b;break;}}if (!sum) cout << "NOT POSSIBLE";else if (sum == 1 || c == d) cout << (c.size() ? c : d);else cout << "NOT UNIQUE";
}signed main()
{int TTT = 1;
//	cin >> TTT;while (TTT--) solve();return 0;
}

T4 奇怪的商店

题目描述

有一家奇怪的商店,店里的商品不是想买就能买,而是需要先积攒足够的积分和威望。

商店里有 N N N 件商品。想购买第 i i i 件商品,需要买家有至少 a i a_i ai 的积分和 b i b_i bi 的威望,且购买后可以为买家提升 c i c_i ci 的积分和 d i d_i di 的威望。

LSU 很喜欢这家商店,并且想购买店里所有的商品。LSU 可以以任意的顺序进行购买。

现在,LSU 希望你帮忙计算出,要购买所有商品,LSU 的初始积分最小值是多少?在初始积分为这个最小值的前提下,LSU 的初始威望最小值应该是多少?

输入格式

第一行一个整数 T T T,表示该测试点所在的子任务编号。
第二行一个整数 N N N,表示商店内的商品总数。
接下来 N N N 行,每行四个整数,依次表示第 i i i 件商品的 a i , b i , c i , d i a_i,b_i,c_i,d_i ai,bi,ci,di

输出格式

输出一行两个整数,用空格隔开。分别表示初始积分最小值,及在初始积分最小前提下的初始威望最小值。

样例 #1

样例输入 #1

0
2
1 5 0 2
1 2 3 4

样例输出 #1

1 2

样例 #2

样例输入 #2

3
6
33 33 97 64
27 10 18 2
10 51 43 79
36 98 61 93
56 3 50 77
63 77 19 45

样例输出 #2

10 51

样例 #3

样例输入 #3

7
6
24457404 0 786147346 0
35269648 0 385597498 0
986729974 0 674254286 0
967571555 0 945921862 0
112950075 0 738686121 0
101290103 0 425579434 0

样例输出 #3

24457404 0

提示

样例 1 解释

当童童的初始积分为 1 1 1,威望为 2 2 2 时,刚好可购买第 2 2 2 件商品。

购买后,童童的积分为 4 4 4,威望为 6 6 6,可购买第 1 1 1 件商品,从而完成购买商店内所有商品。

【数据范围说明】:

本题采用多测试点捆绑测试

  • 子任务 1 1 1 5 5 5 分):保证 N = 0 N=0 N=0
  • 子任务 2 2 2 5 5 5 分):保证 N = 1 N=1 N=1
  • 子任务 3 3 3 20 20 20 分):保证 a i , b i ≤ 100 a_i,b_i \le 100 ai,bi100 N ≤ 6 N \le 6 N6
  • 子任务 4 4 4 10 10 10 分):保证 a i , b i ≤ 1 0 5 a_i,b_i \le 10^5 ai,bi105 N ≤ 6 N \le 6 N6
  • 子任务 5 5 5 10 10 10 分):保证 a i , b i ≤ 10 a_i,b_i \le 10 ai,bi10
  • 子任务 6 6 6 10 10 10 分):保证 a i , b i ≤ 100 a_i,b_i \le 100 ai,bi100
  • 子任务 7 7 7 10 10 10 分):保证 b i = 0 b_i=0 bi=0 N ≤ 6 N \le 6 N6
  • 子任务 8 8 8 10 10 10 分):保证 b i = 0 b_i=0 bi=0
  • 子任务 9 9 9 10 10 10 分):保证 N ≤ 6 N \le 6 N6
  • 子任务 10 10 10 10 10 10 分):无特殊约定。

对于全部的测试点,保证 0 ≤ N ≤ 1 0 5 0 \le N \le 10^5 0N105 0 ≤ a i , b i , c i , d i ≤ 1 0 9 0 \le a_i,b_i,c_i,d_i \le 10^9 0ai,bi,ci,di109

正解

  1. 先求初始积分的最小值:
    将问题转化为有 n n n 个商品,购买需要 a i a_i ai 积分,买完后增加 c i c_i ci 积分,求初始积分的最小值。
    简单贪心:按照 a i a_i ai 进行从小到大排序,每次尝试购买积分需求最少的商品,买不了就增加初始积分。
  2. 再按照威望的要求为第一关键字从小到大,威望的加成为第二关键字从大到小排序。
#include <bits/stdc++.h>
#define int long long
using namespace std;int T;int n,ansa,ansb;
struct node //按照威望 
{int a,b,c,d;bool operator < (const node &x) const{return b != x.b ? b > x.b : d != x.d ? d < x.d : a != x.a ? a > x.a : c < x.c;}
}a[100010];
priority_queue <node> q;bool cmp(node a,node b) //按照积分 
{return a.a != b.a ? a.a < b.a : a.c != b.c ? a.c > b.c : a.b != b.b ? a.b < b.b : a.d > b.d;
}void solve()
{cin >> T >> n;for (int i = 1;i <= n;i++) cin >> a[i].a >> a[i].b >> a[i].c >> a[i].d;sort(a+1,a+n+1,cmp);for (int i = 1,aa = 0;i <= n;i++) //积分先贪心 {if (aa < a[i].a) ansa += a[i].a - aa,aa = a[i].a;aa += a[i].c;}cout << ansa << ' '; //先输出积分最小值for (int i = 1,b = 0;i <= n;i++) //再算威望{while (a[i].a > ansa){if (b < q.top().b) ansb += q.top().b - b,b = q.top().b;b += q.top().d;ansa += q.top().c;q.pop(); }if (a[i].a <= ansa) q.push(a[i]);if (i == n)while (!q.empty()){if (b < q.top().b) ansb += q.top().b - b,b = q.top().b;b += q.top().d;q.pop();}}cout << ansb; //最后输出威望最小值 
}signed main()
{int TTT;
//	cin >> TTT;TTT = 1;while (TTT--) solve();return 0;
}

相关文章:

C++学习笔记2

T1 奇怪的教室 题目背景 LSU 的老师有个奇怪的教室&#xff0c;同学们会从左到右坐成一个横排&#xff0c;并且同一个位置可以坐多个同学。这天&#xff0c;入学考试的成绩下来了。同学们想根据入学考试的成绩&#xff0c;找出班里学霸扎堆的区域“学霸区”。 题目描述 共有…...

细数:智能物流装备界的并购案~

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 近年来&#xff0c;随着智能仓储物流行业的快速发展&#xff0c;全球范围内的并购活动日益频繁&#xff0c;各大企…...

微信小程序播放编码为 video/mp4;codecs=vp8 opus 的视频没有声音

最近在做浏览器录屏功能&#xff0c;主要是录屏加上麦克风生成mp4视频&#xff0c;最终生成的是编码为 video/mp4;codecsvp8 opus 的视频&#xff0c;音频编码因为是 opus 是无法在小程序正常播放的&#xff0c;这样就导致了视频没有声音。后来就在服务端做了一层转换&#xff…...

Linux 指令lsblk 作用,以及查看cpu使用情况和磁盘IO iostat指令详解

lsblk 指令 在Linux系统中&#xff0c;lsblk&#xff08;列表块设备&#xff09;命令是一个非常实用的工具&#xff0c;用于显示所有可用的块设备信息&#xff0c;如硬盘、USB驱动器、SD卡以及它们的分区。这个命令以易于理解的树状结构展示这些信息&#xff0c;清晰地表明了设…...

Mybatis之Sqlsession、Connection和Transaction三者间的关系

前言 最近在看Mybatis的源码&#xff0c;搜到这篇文章Sqlsession、Connection和Transaction原理与三者间的关系&#xff0c;debug之后发现有不少疑惑&#xff0c;于是按照原文整理了一下&#xff0c;记录下debug中的一些困惑点。 对于我们开发来讲&#xff0c;不管跟任何关系…...

WRT1900ACS搭建openwrt服务器小记

参考链接 wrt1900acs openwrt wrt1900acs openwrt 刷机 wrt1900acs原生固件刷openwrt-23.05.3-mvebu-cortexa9-linksys_wrt1900acs-squashfs-factory.img wrt1900acs openwrt更新刷openwrt-23.05.3-mvebu-cortexa9-linksys_wrt1900acs-squashfs-sysupgrade.bin 通过WEB UI来…...

Spring AOP(3)

目录 Spring AOP原理 代理模式 代理模式中的主要角色 静态代理 动态代理 总结:面试题 什么是AOP? Spring AOP实现的方式有哪些? Spring AOP实现原理 Spring使用的是哪种代理方式? JDK和CGLIB动态代理的区别? Spring AOP原理 代理模式 代理模式, 也叫委托模式. …...

推荐5个免费的国内平替版GPT

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…...

弹性云服务器是什么,为何如此受欢迎

云计算作为当下炙手可热的技术领域&#xff0c;已然成为现代企业不可或缺的核心能力。云服务器作为云计算的基石之一&#xff0c;在这个数字化时代发挥着至关重要的作用。而弹性云服务器&#xff0c;作为云服务器的一种演进形式&#xff0c;更是备受瞩目。 弹性云服务器&#…...

Docker部署RabbitMQ与简单使用

官网地址&#xff1a; Messaging that just works — RabbitMQ 我的Docker博客:Docker-CSDN博客 1.结构 其中包含几个概念&#xff1a; **publisher**&#xff1a;生产者&#xff0c;也就是发送消息的一方 **consumer**&#xff1a;消费者&#xff0c;也就是消费消息的一方 …...

2024年黄石市建设优质工程评价认定申报条件、流程及材料合集

2024年黄石市建设优质工程评价认定申报条件、流程及材料合集如下&#xff0c;黄石市的企业单位可以了解一下&#xff0c;有疑问名字找我哦。 第一章总则 第一条为贯彻落实《中华人民共和国建筑法》、《安全生产法》、《建设工程质量管理条例》、《建设工程安全生产管理条例》…...

偏微分方程算法之混合边界条件下的差分法

目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 我们在前几节中介绍了Poisson方程的边值问题&#xff0c;接下来对椭圆型偏微分方程的混合边值问题进行探讨&#xff0c;研究对象为&#xff1a; 其中&#xff0c;为矩形区域&#xff0c;为上的连续函数…...

apollo资料整理

Application X: Application X Apollo: Apollo 自动驾驶开放平台 Cyber RT API tutorial — Cyber RT Documents documentation Cyber RT API tutorial — Cyber RT Documents documentation GitHub - daohu527/dig-into-apollo: Apollo notes (Apollo学习笔记) - Apollo l…...

森林消防新利器:高扬程水泵的革新与应用/恒峰智慧科技

随着全球气候变化的加剧&#xff0c;森林火灾的频发已成为威胁生态安全的重要问题。在森林消防工作中&#xff0c;高效、快速的水源供给设备显得尤为重要。近年来&#xff0c;高扬程水泵的广泛应用&#xff0c;为森林消防工作带来了新的希望与突破。 一、高扬程水泵的技术优势 …...

Microsoft Universal Print 与 SAP 集成教程

引言 从 SAP 环境打印是许多客户的要求。例如数据列表打印、批量打印或标签打印。此类生产和批量打印方案通常使用专用硬件、驱动程序和打印解决方案来解决。 Microsoft Universal Print 是一种基于云的打印解决方案&#xff0c;它允许组织以集中化的方式管理打印机和打印机驱…...

VBA在Excel中字母、数字的相互转化

VBA在Excel中字母、数字的相互转化 字母转数字的方法 数字转字母的方法 众所周知,Excel表中的行以数字展示,列用字母展示,如下图: 编程时,很多时候需要将列的字母转变为数字使用,如cells(num1,num2).value等,不知大家是怎么将字母转化为数字的,Excel是否有其他方式…...

【C语言】——联合体与枚举

【C语言】——联合体与枚举 一、联合体1.1、联合体类型的声明1.2、联合体的特点1.3、相同成员的结构体和联合体对比1.4、联合体的大小计算1.5、联合体的应用举例 二、枚举2.1、枚举类型的声明2.2、枚举类型的优点 一、联合体 1.1、联合体类型的声明 联合体也叫做共用体   与…...

java线上问题排查之内存分析(三)

java线上问题排查之内存分析 使用top命令 top命令显示的结果列表中&#xff0c;会看到%MEM这一列&#xff0c;这里可以看到你的进程可能对内存的使用率特别高。以查看正在运行的进程和系统负载信息&#xff0c;包括cpu负载、内存使用、各个进程所占系统资源等。 2.用jstat命令…...

中电金信:金Gien乐道 | 4月要闻速览,精彩再回顾

中国电子党组副书记、总经理李立功一行调研中电金信 4月10日&#xff0c;中国电子党组副书记、总经理李立功一行赴中电金信进行调研&#xff0c;深入听取了中电金信经营发展情况、研发工作及“源启”行业数字底座平台的汇报&#xff0c;并参观了公司展厅和科技研发场所&#xf…...

Java将文件目录转成树结构

在实际开发中经常会遇到返回树形结构的场景&#xff0c;特别是在处理文件系统或者是文件管理系统中。下面就介绍一下怎么将文件路径转成需要的树形结构。 在Java中&#xff0c;将List<String>转换成树状结构&#xff0c;需要定义一个树节点类&#xff08;TreeNode&#…...

硬件工程师必读:10条职业发展黄金法则!

在快速发展的科技时代&#xff0c;硬件工程师作为推动技术创新和产业升级的重要力量&#xff0c;其职业发展之路既充满挑战也蕴含无限机遇。为了在这条道路上稳步前行&#xff0c;我们首先需要了解硬件产品的研发流程。 在这个过程中&#xff0c;公司内的每个岗位都发挥着不可或…...

Redis是什么? 日常运维 Redis 需要注意什么 ? 怎么降低Redis 内存使用 节省内存?

你的项目或许已经使用 Redis 很长时间了&#xff0c;但在使用过程中&#xff0c;你可能还会或多或少地遇到以下问题&#xff1a; 我的 Redis 内存为什么增长这么快&#xff1f;为什么我的 Redis 操作延迟变大了&#xff1f;如何降低 Redis 故障发生的频率&#xff1f;日常运维…...

【Android项目】“追茶到底”项目介绍

没有多的介绍&#xff0c;这里只是展示我的项目效果&#xff0c;后面会给出具体的代码实现。 一、用户模块 1、注册&#xff08;第一次登陆的话需要先注册账号&#xff09; 2、登陆&#xff08;具有记住最近登录用户功能&#xff09; 二、点单模块 1、展示饮品列表 2、双向联动…...

机试:进制转换问题

十进制转任意进制 简单回忆一下十进制我们是怎么转换成二进制的&#xff08;短除法&#xff09;&#xff1a; 我们会将十进制数不断的进行除2操作&#xff0c;并且记录下每一次的余数&#xff08;这个余数就是我们最终求的二进制数的组成部分&#xff09;。 以下以12D举例&a…...

目标检测实战(十五): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

文章目录 一、目标检测介绍二、YOLOv7介绍三、源码/论文获取四、环境搭建4.1 环境检测 五、数据集准备六、 模型训练七、模型验证八、模型测试九、错误总结9.1 错误1-numpy jas mp attribute int9.2 错误2-测试代码未能跑出检测框9.3 错误3- Command git tag returned non-zero…...

github中fasttext库README官文文档翻译

参考链接&#xff1a;fastText/python/README.md at main facebookresearch/fastText (github.com) fastText模块介绍 fastText 是一个用于高效学习单词表述和句子分类的库。在本文档中&#xff0c;我们将介绍如何在 python 中使用 fastText。 环境要求 fastText 可在现代 …...

WouoUIPagePC端实现

WouoUIPagePC端实现 WouoUIPage是一个与硬件平台无关&#xff0c;纯C语言的UI库&#xff08;目前只能应用于128*64的单色OLED屏幕上&#xff0c;后期会改进&#xff0c;支持更多尺寸&#xff09;。因此&#xff0c;我们可以在PC上实现它&#xff0c;本文就以在PC上使用 VScode…...

W801学习笔记十九:古诗学习应用——下

经过前两章的内容&#xff0c;背唐诗的功能基本可以使用了。然而&#xff0c;仅有一种模式未免显得过于单一。因此&#xff0c;在本章中对其进行扩展&#xff0c;增加几种不同的玩法&#xff0c;并且这几种玩法将采用完全不同的判断方式。 玩法一&#xff1a;三分钟限时挑战—…...

类加载器ClassLoad-jdk1.8

类加载器ClassLoad-jdk1.8 1. 类加载器的作用2. 类加载器的种类&#xff08;JDK8&#xff09;3. jvm内置类加载器如何搜索加载类--双亲委派模型4. 如何打破双亲委派模型--自定义类加载器5. 自定义一个类加载器5.1 为什么需要自定义类加载器5.2 自定义一个类加载器 6. java代码加…...

24年最新AI数字人简单混剪

24年最新AI数字人简单混剪 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x...

免备案香港主机会影响网站收录?

免备案香港主机会影响网站收录?前几天遇到一个做电子商务的朋友说到这个使用免备案香港主机的完整会不会影响网站的收录问题&#xff0c;这个问题也是站长关注较多的问题之一。小编查阅了百度官方规则说明&#xff0c;应该属于比较全面的。下面小编给大家介绍一下使用免备案香…...

低代码工业组态数字孪生平台

2024 两会热词「新质生产力」凭借其主要特征——高科技、高效能及高质量&#xff0c;引发各界关注。在探索构建新质生产力的重要议题中&#xff0c;数据要素被视为土地、劳动力、资本和技术之后的第五大生产要素。数据要素赋能新质生产力发展主要体现为&#xff1a;生产力由生产…...

代码随想录第三十八天(完全背包问题)|爬楼梯(第八期模拟笔试)|零钱兑换|完全平方数

爬楼梯&#xff08;第八期模拟笔试&#xff09; 该题也是昨天的完全背包排列问题&#xff0c;解法相同&#xff0c;将遍历顺序进行调换 import java.util.*; public class Main{public static void main (String[] args) {Scanner scnew Scanner(System.in);int nsc.nextInt(…...

idea常用知识点随记

idea常用知识点随记 1. 打开idea隐藏的commit窗口2. idea中拉取Git分支代码3. idea提示代码报错&#xff0c;项目编译没有报错4. idea中实体类自动生成序列号5. idea隐藏当前分支未commit代码6. idea拉取新建分支的方法 1. 打开idea隐藏的commit窗口 idea左上角File→Settings…...

(双指针) 有效三角形的个数 和为s的两个数字 三数之和 四数之和

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、有效三角形的个数&#xff08;medium&#xff09; 1.1、题目 1.2、讲解算法原理 1.3、编写代码 二、和为s的两个数字 2.1、题目 2.2、讲解算…...

力扣每日一题114:二叉树展开为链表

题目 中等 提示 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…...

Linux系统下使用LVM扩展逻辑卷的步骤指南

Linux系统下使用LVM扩展逻辑卷的步骤指南 文章目录 Linux系统下使用LVM扩展逻辑卷的步骤指南前言一、逻辑卷管理&#xff08;LVM&#xff09;简介二、扩展逻辑卷步骤1. 检查当前的磁盘布局2. 创建新的分区3. 更新内核的分区表4. 初始化新的物理卷5. 将物理卷添加到卷组6. 调整逻…...

探索AI编程新纪元:从零开始的智能编程之旅

提示&#xff1a;Baidu Comate 智能编码助手是基于文心大模型&#xff0c;打造的新一代编码辅助工具 文章目录 前言AI编程概述&#xff1a;未来已来场景需求&#xff1a;从简单到复杂&#xff0c;无所不包体验步骤&#xff1a;我的AI编程初探试用感受&#xff1a;双刃剑下的深思…...

RustGUI学习(iced)之小部件(三):如何使用下拉列表pick_list?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第三篇,主要讲述下拉列表pick_list部件的使用,会…...

【OceanBase诊断调优】—— Unit 迁移问题的排查方法

适用版本&#xff1a;V2.1.x、V2.2.x、V3.1.x、V3.2.x 本文主要介绍 OceanBase 数据集在副本迁移过程中遇到的问题的排查方法。 适用版本 V2.1.x、V2.2.x、V3.1.x、V3.2.x 手动调度迁移问题的排查 OceanBase 数据库的 RootService 模块负责 Unit 迁移的调度&#xff0c;如果…...

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件&#xff0c;这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化&#xff0c;我们要构造符合输出flag条件的序列化数据。 但是&#xff0c;这里要注意的就是我们提…...

数据结构之跳跃表

跳跃表 跳跃表&#xff08;skiplist&#xff09;是一种随机化的数据&#xff0c; 由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出&#xff0c; 跳跃表以有序的方式在层次化的链表中保存元素&#xff0c; 效率和平衡树媲美 —— …...

搜维尔科技:动作捕捉解决方案:销售、服务、培训和支持

动作捕捉解决方案&#xff1a;销售、服务、培训和支持 搜维尔科技&#xff1a;动作捕捉解决方案&#xff1a;销售、服务、培训和支持l...

数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库(20240507)

数据库管理184期 2024-05-07 数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库&#xff08;20240507&#xff09;1 JSON需求2 关系型表设计3 JSON关系型二元性视图3 查询视图总结 数据库管理-第184期 23ai:干掉MongoDB的不一定是另一个JSON数据库&#xff08;20…...

刷代码随想录有感(58):二叉树的最近公共祖先

题干&#xff1a; 代码&#xff1a; class Solution { public:TreeNode* traversal(TreeNode* root, TreeNode* p, TreeNode* q){if(root NULL)return NULL;if(root p || root q)return root;TreeNode* left traversal(root->left, p, q);TreeNode* right traversal(r…...

[开发|安卓] Android Studio 开发环境配置

Android Studio下载 Android Studio下载地址 下载SDK依赖 1.点击左上角菜单 2.选择工具 3.打开SDK管理中心 4.下载项目目标Android版本的SDK 配置安卓虚拟机 1.打开右上角的设备管理 2.选择合适的手机规格 3.下载并选择项目目标Android系统 4.点击完成配置 …...

开发 Chrome 浏览器插件入门

目录 前言 一&#xff0c;创建插件 1.创建一个新的目录 2.编写清单文件 二&#xff0c;高级清单文件 1.编写放置右窗口 2.常驻的后台JS或后台页面 3.event-pages 短周期使用 三&#xff0c;Chrome 扩展 API 函数 1.浏览器操作函数 2.内容脚本函数 3.后台脚本函数 4…...

在数字化转型的浪潮中,CBDB百数服务商如何破浪前行?

在信息化时代&#xff0c;传统咨询企业面临着数字化转型的挑战与机遇。如何利用数字化技术提升业务效率、增强客户黏性&#xff0c;成为了行业关注的焦点。云南析比迪彼企业管理有限公司&#xff08;CBDB&#xff09;作为云南地区的企业咨询服务提供商&#xff0c;率先与百数展…...

程序员的实用神器

在软件开发的海洋中&#xff0c;程序员的实用神器如同航海中的指南针&#xff0c;帮助他们导航、加速开发、优化代码质量&#xff0c;并最终抵达成功的彼岸。这些工具覆盖了从代码编写、版本控制到测试和部署的各个环节。然而&#xff0c;程序员们通常会有一套自己喜欢的工具集…...

spss 导入数据的时候 用于确定数据类型的值所在的百分比95%是什么意思,数据分析,医学数据分析

在SPSS中&#xff0c;当提及“数据类型的值所在的百分比95%”时&#xff0c;这通常与数据的统计分布或置信区间有关&#xff0c;而不是直接关于数据类型的定义。 导入数据的时候需要定义数据类型&#xff0c;那么根据提供的数据&#xff0c;来定义&#xff0c;有时候&#xff…...

一个简单的webservice客户端demo

首先我们是客户端&#xff0c;我们要找一个服务端来配合我们调试&#xff0c;可以在这个网址里找个你喜欢的免费服务WEB服务&#xff08;Web Servicrs&#xff09;| 免费WEB服务 | 商业WEB服务 | XML Web Servicrs - WEBXML 比如下面这个查手机号归属地的&#xff1a; 我们新建…...

有意思的数组

var nums [1,2,3,6] const nums1 [6, 8, 7, 10, 9];/* 数组合并————push */ var n nums.push(...nums1); // 将列表 nums1 拼接到 nums 之后 n //n会是nums的长度 > 9 nums //也push了 > (9) [1, 2, 3, 6, 6, 8, 7, 10, 9]/* 数组合并————concat*/ var arr0…...

笔记本电脑忘记开机密码怎么办?不需重装系统,重置开机密码

笔记本电脑忘记开机密码&#xff0c;重置开机密码方法 这里记录个方法&#xff0c;亲测有效。我的电脑版本是Windows11&#xff0c;21H2。 步骤1&#xff1a;打开疑难解答界面 方式1&#xff1a;按住Shift键&#xff0c;然后重启电脑。我电脑使用这个方法无效。 方式2&#…...

DOTWeen插件使用技巧

今天我们一起来研究一下DOTween动画插件。 对于该插件官网上的介绍是&#xff1a;“DOtween是一种快速&#xff0c;高效&#xff0c;完全类型安全的面向对象的动画引擎。” 将它导入Unity中&#xff0c;可以很方便快速地帮我们完成许多动画效果。本篇文章主要将通过一些小案例…...

【SQL】SQL常见面试题总结(1)

目录 1、检索数据1.1、从 Customers 表中检索所有的 ID1.2、检索并列出已订购产品的清单1.2、检索所有列 2、排序检索数据2.1、检索顾客名称并且排序2.2、对顾客 ID 和日期排序2.3、按照数量和价格排序2.4、检查 SQL 语句 3、过滤数据3.1、返回固定价格的产品3.2、返回产品并且…...

C语言性能深度剖析:从底层优化到高级技巧及实战案例分析

C语言以其接近硬件的特性、卓越的性能和灵活性&#xff0c;在系统编程、嵌入式开发和高性能计算等领域中占据着举足轻重的地位。本文将深入探讨C语言性能优化的各个方面&#xff0c;包括底层原理、编译器优化、内存管理和高级编程技巧&#xff0c;并结合多个代码案例来具体分析…...