看看去年蓝桥考了什么,第十三届蓝桥杯省赛(C/C++ 大学B组)题解

news2024/11/29 0:43:48

文章目录

  • A:九进制转十进制
    • 问题描述
    • 运行限制
    • 题目思路
    • 代码演示
  • B:顺子日期
    • 问题描述
    • 运行限制
    • 题目思路
    • 代码演示
  • C:刷题统计
    • 问题描述
    • 评测用例规模与约定
    • 运行限制
    • 题目思路
    • 代码演示
  • D:修剪灌木
    • 问题描述
    • 评测用例规模与约定
    • 运行限制
    • 题目思路
    • 代码演示
  • E:X 进制减法
    • 问题描述
    • 运行限制
    • 题目思路
    • 代码演示
  • F:统计子矩阵
    • 问题描述
    • 评测用例规模与约定
    • 运行限制
    • 题目思路
    • 代码演示
  • G:积木画
    • 问题描述
    • 评测用例规模与约定
    • 题目思路
    • 代码演示
  • H:扫雷
    • 问题描述
    • 评测用例规模与约定
    • 运行限制
    • 题目思路
    • 代码演示
  • I:李白打酒加强版
    • 问题描述
    • 样例说明
    • 评测用例规模与约定
    • 运行限制
    • 题目思路
    • 代码演示
  • J:砍竹子
    • 问题描述
    • 评测用例规模与约定
    • 题目思路
    • 代码演示

A:九进制转十进制

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

九进制正整数 (2022)9 转换成十进制等于多少?

运行限制

最大运行时间:1s
最大运行内存: 512M

题目思路

这是一道经典的进制转换题目,具体可以点进链接看看这篇文章。进制转换点击这里!!!

代码演示

#include <bits/stdc++.h>
using namespace std;
int main()    
{
	string s ="2022";
	int ans = 0;
	for(int i = 0; i < s.size(); i++) {
		char t = s[i];
		if(t >= '0' && t <= '9') 
			ans = ans * 9 + t - '0';
		else 
			ans = ans * 9 + t - 'a' + 10;
	}
	cout<< ans;
}

B:顺子日期

问题描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。

例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。

小明想知道在整个 2022 年份中,一共有多少个顺子日期?

运行限制

最大运行时间:1s
最大运行内存: 512M

题目思路

这道题题目很坑,其实含有012的日期也是一个顺子日期。
我们用数组表示日期,遍历每一个月日,当符合顺子日期的定义时,记录一次答案。

代码演示

#include <bits/stdc++.h>
using namespace std;
int date[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};   
int main()
{
    int b[8] = {2,0,2,2};                              
    int sum = 0;
    for (int i = 1; i <= 12; i++) {
        b[4] = i / 10;                
        b[5] = i % 10;               
        for (int j = 1; j <= date[i]; j++) {
            b[6] = j / 10;            
            b[7] = j % 10;          
            if ((b[4] + 1 == b[5] && b[5] + 1 == b[6]) || (b[5] + 1 == b[6] && b[6] + 1 == b[7])) 
                sum++;
            }
        }
    }
    cout << sum << endl;
    return 0;
}

C:刷题统计

问题描述

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?
输入格式

输入一行包含三个整数 a,b 和 n.
输出格式

输出一个整数代表天数。
样例输入

10 20 99

样例输出

8

评测用例规模与约定

对于 50%50% 的评测用例, 1≤a,b,n≤1061≤a,b,n≤106.

对于 100%100% 的评测用例, 1≤a,b,n≤10181≤a,b,n≤1018.

运行限制

最大运行时间:1s
最大运行内存: 256M

题目思路

先计算出一周刷的题目数量,再计算出剩余题量需要几天。

代码演示

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

ll a,b,n,add,day;
int main() {
	cin >> a >> b >> n;
	int ti = 5 * a + 2 * b;
	ll weak = n / ti;
	ll last = n % ti;
	day += weak * 7;
	int x = 1;
	while(last > 0) {
		if(x % 7 == 6 || x % 7 == 0) {
			last -= b;
		} else {
			last -= a;
		}
		day++;
		x++;
	}
	cout << day;
}

D:修剪灌木

问题描述

爱丽丝要完成一项修剪灌木的工作。

有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌 木, 让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。当修剪了最右侧的灌木后, 她会调转方向, 下一天开 始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。然后如此循环往复。

灌木每天从早上到傍晩会长高 1 厘米, 而其余时间不会长高。在第一天的 早晨, 所有灌木的高度都是 0 厘米。爱丽丝想知道每棵灌木最高长到多高。
输入格式

一个正整数 N, 含义如题面所述。
输出格式

输出 N 行, 每行一个整数, 第 i 行表示从左到右第 i 棵树最高能长到多高。
样例输入

3

样例输出

4
2
4

评测用例规模与约定

对于 30%30% 的数据, N≤10N≤10.

对于 100%100% 的数据, 1<N≤100001<N≤10000.

运行限制

最大运行时间:1s
最大运行内存: 512M

题目思路

对于左边的灌木来说,长的最高的时候应该是从自己出发向右走再返回自己的长度。
对于正中间的灌木来说,长度最高的时候就是从自己出发再返回。
对于右边的灌木来说,长的最高的时候应该是从自己出发向左走再返回自己的长度。

代码演示

#include <bits/stdc++.h>
using namespace std;

int n;

int main() {
    cin >> n;
    for(int i = 1; i <= n / 2; i++) {
        cout << 2 * n - 2 * i << endl;
    }
    if(n % 2 != 0) {
        cout << n - 1 << endl;
    }
    for (int i = n / 2; i > 0; i--) {
        cout << 2 * n - 2 * i << endl;
    }
    return 0;
}

E:X 进制减法

问题描述

进制规定了数字在数位上逢几进一。

X 进制是一种很神奇的进制, 因为其每一数位的进制并不固定!例如说某 种 X 进制数, 最低数位为二进制, 第二数位为十进制, 第三数位为八进制, 则 X 进制数 321 转换为十进制数为 65 。

现在有两个 X 进制表示的整数 A 和 B, 但是其具体每一数位的进制还不确 定, 只知道 A 和 B 是同一进制规则, 且每一数位最高为 N 进制, 最低为二进 制。请你算出 A−B 的结果最小可能是多少。

请注意, 你需要保证 A 和 B 在 X 进制下都是合法的, 即每一数位上的数 字要小于其进制。
输入格式

第一行一个正整数 N, 含义如题面所述。

第二行一个正整数 Ma​, 表示 X 进制数 A 的位数。

第三行 Ma​ 个用空格分开的整数, 表示 X 进制数 A 按从高位到低位顺序各 个数位上的数字在十进制下的表示。

第四行一个正整数 Mb​, 表示 X 进制数 B 的位数。

第五行 Mb​ 个用空格分开的整数, 表示 X 进制数 B 按从高位到低位顺序各 个数位上的数字在十进制下的表示。

请注意, 输入中的所有数字都是十进制的。
输出格式

输出一行一个整数, 表示 X 进制数 A−B 的结果的最小可能值转换为十进 制后再模 1000000007 的结果。
样例输入

11
3
10 4 0
3
1 2 0

样例输出

94

样例说明

当进制为: 最低位 2 进制, 第二数位 5 进制, 第三数位 11 进制时, 减法 得到的差最小。此时 A 在十进制下是 108,B 在十进制下是 14 , 差值是 94。
评测用例规模与约定

对于 30% 的数据, N≤10;Ma,Mb≤8.

对于 100% 的数据, 2≤N≤1000;1≤Ma,Mb≤100000;A≥B.

运行限制

最大运行时间:1s
最大运行内存: 256M

题目思路

首先倒叙存储二进制整数AB,按照贪心思想,当进制最小时为A-B的最小值,最小进制为max(a[i],b[i]) + 1,若进制比二小则为二进制。获得进制后直接计算十进制数字。

代码演示

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int n,ma,mb,sa,sb,a[100005],b[100005];
ll ans;
int main() {
    cin >> n >> ma;
    for(int i = ma; i > 0; i--) {
    	cin >> a[i];
	}
	cin >> mb;
	for(int i = mb; i > 0; i--) {
		cin >> b[i];
	}
	int len = max(ma,mb);
	for(int i = len; i > 0 ;i --) {
		int c = max(a[i],b[i]) + 1;
		c = max(2,c);
		ans = (ans * c + a[i] - b[i]) % 1000000007;
	}
	cout << ans ;
    return 0; 
}

F:统计子矩阵

问题描述

给定一个 N×M 的矩阵 A, 请你统计有多少个子矩阵 (最小 1×1, 最大 N×M) 满足子矩阵中所有数的和不超过给定的整数 KK ?
输入格式

第一行包含三个整数 N,M 和 K.

之后 N 行每行包含 M 个整数, 代表矩阵 A.
输出格式

一个整数代表答案。
样例输入

3 4 10
1 2 3 4
5 6 7 8
9 10 11 12

样例输出

19

样例说明

满足条件的子矩阵一共有 19 , 包含:

大小为 1×1 的有 10 个。

大小为 1×2 的有 3 个。

大小为 1×3 的有 2 个。

大小为 1×4 的有 1 个。

大小为 2×1 的有 3 个。

评测用例规模与约定

对于 30% 的数据, N,M≤20.

对于 70% 的数据, N,M≤100.

对于 100% 的数据, 1≤N,M≤500;0≤Aij≤1000;1≤K≤250000000

运行限制

最大运行时间:1s
最大运行内存: 256M

题目思路

先用二维前缀和存储矩阵信息,再用双指针来寻找正确答案。用i j分别表示一个区域的左右边界,p q来表示上下两个指针,p从上往下寻找q,一直到大小小于等于k,这时p q这片区域的行数q - p + 1就是子矩阵的个数。

代码演示

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int n,m,k,a[505][505];
ll ans = 0;
int main() {
	cin >> n >> m >> k;
	for(int i = 1; i <= n; i++) {
		for(int j = 1; j <= m; j++) {
			cin >> a[i][j];
			a[i][j] =  a[i][j] + a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];
		}
	}
    for(int i = 1; i <= m; i++) {
    	for(int j = i; j <= m; j++) {
    		for(int p = 1,q = 1; q <= n; q++) {
    			while(p <= q && a[q][j] - a[q][i - 1] - a[p - 1][j] + a[p - 1][i - 1] > k) {
    				p++;
				}
				if(p <= q) {
					ans +=(q - p + 1);
				}
			}
		}
	}
    cout << ans;
	return 0;
} 

G:积木画

问题描述

小明最近迷上了积木画, 有这么两种类型的积木, 分别为 II 型(大小为 2 个单位面积) 和 LL 型 (大小为 3 个单位面积):

同时, 小明有一块面积大小为 2×N 的画布, 画布由 2×N 个 1×1 区域构 成。小明需要用以上两种积木将画布拼满, 他想知道总共有多少种不同的方式? 积木可以任意旋转, 且画布的方向固定。
输入格式

输入一个整数 N,表示画布大小。
输出格式

输出一个整数表示答案。由于答案可能很大,所以输出其对 1000000007 取模后的值。
样例输入

3

样例输出

5

样例说明

五种情况如下图所示,颜色只是为了标识不同的积木:

评测用例规模与约定

对于所有测试用例,1≤N≤10000000

题目思路

dp 题目,一共有三种情况,我们把1设为上层不为空,2设为下层不为空,3设成全不为空:

  • 1:f[i][1],这种情况为 f[i] 的上层不为空,可以通过 f[i - 1] 下层不为空和 f[i - 2] 全不为空得来。
  • 2:f[i][2],这种情况为 f[i] 的下层不为空,可以通过 f[i - 1] 上层不为空和 f[i - 2] 全不为空得来。
  • 3:f[i][3],这种情况为 f[i] 的上下层不为空,可以通过 f[i - 1] 上层不为空和 f[i - 1] 全不为空和 f[i - 1]下层不为空和 f[i - 2] 全不为空得来。
    最后输出 f[n] 全不为空就是答案。

代码演示

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n, m;
int f[10000005][4];

int main()
{
    cin >> n;
    f[0][3] = 1;
    for (int i = 1; i <= n; i++) {
        f[i][1] = (f[i - 1][2] + f[i - 2][3]) % mod;
        f[i][2] = (f[i - 1][1] + f[i - 2][3]) % mod;
        f[i][3] = ((f[i - 1][3] + f[i - 1][1]) % mod + (f[i - 1][2] + f[i - 2][3]) % mod) % mod;
    }
    cout << f[n][3] % mod;
}

H:扫雷

问题描述

小明最近迷上了一款名为《扫雷》的游戏。其中有一个关卡的任务如下, 在一个二维平面上放置着 n 个炸雷, 第 i 个炸雷 (xi,yi,ri) 表示在坐标(xi​,yi​) 处 存在一个炸雷, 它的爆炸范围是以半径为 ri​ 的一个圆。

为了顺利通过这片土地, 需要玩家进行排雷。玩家可以发射 m 个排雷火 箭, 小明已经规划好了每个排雷火箭的发射方向, 第 j 个排雷火箭 (xj,yj,rj) 表 示这个排雷火箭将会在 (xj​,yj​) 处爆炸, 它的爆炸范围是以半径为 rj​ 的一个圆, 在其爆炸范围内的炸雷会被引爆。同时, 当炸雷被引爆时, 在其爆炸范围内的 炸雷也会被引爆。现在小明想知道他这次共引爆了几颗炸雷?

你可以把炸雷和排雷火箭都视为平面上的一个点。一个点处可以存在多个 炸雷和排雷火箭。当炸雷位于爆炸范围的边界上时也会被引爆。
输入格式

输入的第一行包含两个整数 n、m.

接下来的 n 行, 每行三个整数 xi​,yi​,ri​, 表示一个炸雷的信息。

再接下来的 m 行, 每行三个整数 xj​,yj​,rj​, 表示一个排雷火箭的信息。
输出格式

输出一个整数表示答案。
样例输入

2 1
2 2 4
4 4 2
0 0 5

样例输出

2

样例说明

示例图如下,排雷火箭 1 覆盖了炸雷 1,所以炸雷 1 被排除;炸雷 1 又覆盖了炸雷 2,所以炸雷 2 也被排除。

图片描述

评测用例规模与约定

对于 40 的评测用例: 0≤x,y≤109,0≤n,m≤103,1≤r≤10

对于 100 的评测用例: 0≤x,y≤109,0≤n,m≤5×104,1≤r≤10

运行限制

最大运行时间:1s
最大运行内存: 256M

题目思路

代码演示

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

struct node {
	int x, y, r;
};

int ans = 0;
int n, m;
map<pair<int, int>, int> mp;
set<pair<int, int> > s;
queue<node> q;

int get_len(int x, int y, int i, int j) {
	return (x - i) * (x - i) + (y - j) * (y - j);
}

int main() {
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		int x, y, r;
		cin >> x >> y >> r;
		int tmp = mp[{x, y}] + 100; 
		mp[{x, y}] = max(tmp, tmp / 100 * 100 + r);
	}
	for (int i = 0; i < m; i++) {
		int x, y, r;
		cin >> x >> y >> r;
		q.push(node({ x,y,r }));
	}
	int ans = 0;
	while (q.size()) {
		int xx = q.front().x;
		int yy = q.front().y;
		int rr = q.front().r;
		q.pop();
		for (int i = xx - rr; i <= xx + rr; i++) {
			for (int j = yy - rr; j <= yy + rr; j++) {
				pair<int, int> p(i, j);
				if (s.count(p)) 
					continue;
				if (!mp.count(p))
					continue;
				if (get_len(xx, yy, i, j) > rr*rr) 
					continue;
				s.insert(p);
				q.push(node({ i,j,mp[p] % 100 }));
				ans = ans + mp[p] / 100;
			}
		}
	}
	cout << ans;
}

I:李白打酒加强版

问题描述

话说大诗人李白, 一生好饮。幸好他从不开车。

一天, 他提着酒显, 从家里出来, 酒显中有酒 2 斗。他边走边唱:

无事街上走,提显去打酒。 逢店加一倍, 遇花喝一斗。

这一路上, 他一共遇到店 N 次, 遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。

请你计算李白这一路遇到店和花的顺序, 有多少种不同的可能?

注意: 显里没酒 ( 0 斗) 时遇店是合法的, 加倍后还是没酒; 但是没酒时遇 花是不合法的。
输入格式

第一行包含两个整数 N 和 M.
输出格式

输出一个整数表示答案。由于答案可能很大,输出模 1000000007 的结果.
样例输入

5 10

样例输出

14

样例说明

如果我们用 0 代表遇到花,1 代表遇到店,14 种顺序如下:

010101101000000

010110010010000

011000110010000

100010110010000

011001000110000

100011000110000

100100010110000

010110100000100

011001001000100

100011001000100

100100011000100

011010000010100

100100100010100

101000001010100

评测用例规模与约定

对于 40% 的评测用例: 1≤N,M≤10 。

对于 100%100% 的评测用例: 1≤N,M≤100 。

运行限制

最大运行时间:1s
最大运行内存: 256M

题目思路

动态规划,f[i][j][k] 表示在第 i 个位置,遇到第 j 个花,目前还剩 k 斗酒。
当遇到花时:f[i][j][k] =f[i - 1][j - 1][k + 1];
当遇到酒时:f[i][j][k] = (f[i][j][k] + f[i - 1][j][k / 2]) % mod;

代码演示

#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
int n, m;
int f[205][105][105];  
int main() {
    cin >> n >> m;
    f[0][0][2] = 1;
    for (int i = 1; i <= n + m; i++) {
        for (int j = 0; j <= m; j++) {
            for (int k = 0; k <= m; k++) {  
                if(j>=1) 
                	f[i][j][k] =f[i - 1][j - 1][k + 1];
                if (k % 2 == 0)   
                    f[i][j][k] = (f[i][j][k] + f[i - 1][j][k / 2]) % mod;
            }
        }
    }
    cout << f[n + m - 1][m - 1][1];
    return 0;
}

J:砍竹子

问题描述

这天, 小明在砍竹子, 他面前有 n 棵竹子排成一排, 一开始第 i 棵竹子的 高度为 hi​.

他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子。魔法可以对连续的一 段相同高度的竹子使用, 假设这一段竹子的高度为 H, 那么

用一次魔法可以 把这一段竹子的高度都变为 在这里插入图片描述

​, 其中 ⌊x⌋ 表示对 x 向下取整。小明想 知道他最少使用多少次魔法可让所有的竹子的高度都变为 1 。
输入格式

第一行为一个正整数 nn, 表示竹子的棵数。

第二行共 nn 个空格分开的正整数 hihi​, 表示每棵竹子的高度。
输出格式

一个整数表示答案。
样例输入

6
2 1 4 2 6 7

样例输出

5

样例说明

其中一种方案:

21426214267
→214262→214222→211222→111222→111111
共需要 5 步完成

评测用例规模与约定

对于 20% 的数据, 保证 n≤1000,hi≤106。 对于 100% 的数据, 保证 n≤2×105,hi≤1018 。

题目思路

代码演示

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
int sum = 0;
vector<int>cnt1;
vector<int>cnt2;
ll cnt(ll h) {
	return sqrtl(h / 2 + 1);
}
int main() {
	int n;
	ll h;
	cin >> n;
	while (n--) {
		cin >> h;
		while (h != 1) {
			cnt2.push_back(h);
			h = cnt(h);
		}
		int i = cnt1.size() - 1, j = cnt2.size() - 1;
		while (i >= 0 && j >= 0 && cnt1[i] == cnt2[j]) i--, j--;
		sum += j + 1;
		cnt1 = cnt2;
		cnt2.clear();
	}
	cout << sum;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【广州华锐互动】VR地铁消防逃生路线演练系统

随着城市轨道交通的不断发展&#xff0c;事故应急演练的重要性也越来越受到重视。而VR技术的应用&#xff0c;为地铁消防逃生路线演练带来了许多亮点&#xff0c;包括以下几个方面&#xff1a; 首先&#xff0c;VR技术可以提供高度真实的模拟场景。在传统的事故应急演练中&…

t-date-time-picker如何默认当前年月

打开小程序展示当前年月&#xff0c;效果图如下 实现方法&#xff1a;使用new Date().toISOString().slice(0, 7)截取7位即可

卡尔曼滤波:再也不用瑟瑟发抖了

本文来自公众号“AI大道理” —————— 目标跟踪中&#xff0c;在数据关联后往往要进行卡尔曼滤波。 数据关联算法得到了每个目标的观测数据。 卡尔曼滤波使用关联的观测数据来估计目标的状态&#xff0c;并预测目标的未来位置和速度等信息。 目标跟踪过程中&#xff0c;…

0基础学习VR全景平台篇 第62篇:基本功能-如何发布VR视频

戳我先了解“全景视频上传规范” 1、点击【上传】按钮&#xff0c;打开本地文件夹&#xff0c;上传符合要求的全景视频素材&#xff0c;可以选择单个或多个视频同时上传。 2、视频上传成功以后&#xff0c;需要处理一段时间&#xff0c;请耐心等待。 视频处理好以后&#xff0…

编程语言有哪些?介绍常见的编程语言

&#xff08;又是水文章的一天&#xff09;&#xff1a;&#xff09; 在当今数字化时代&#xff0c;编程语言成为了连接人类与计算机的关键工具。无论是网页开发、移动应用程序还是大规模软件开发&#xff0c;选择合适的编程语言对于开发人员来说至关重要。本文将介绍一些常见的…

Cesium-源码打包1.106

在有Cesium源码打包的需求下&#xff0c;可以这样进行&#xff0c; 1.106的源码目录结构如下&#xff1a; 1.在下载的源码目录中运行 npm install 出现node_modules文件夹&#xff0c;然后我们就可以根据需求去修改源码&#xff0c;本文用的版本是1.106&#xff0c; packag…

C语言--动态内存管理(图解)

文章目录 C程序的内存开辟为什么存在动态内存分配动态内存分配函数malloc和freecallocrealloc 常见的动态内存错误对空指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释…

浅析电力企业一体化云运维管理平台

摘要&#xff1a;电力的发展,关系着我国社会和谐和稳定,在当今科学技术不断向前发展的时代,在电力企业发展中须要结合现今的科学技术,保证电力企业的信息化建设水平能够符合时代的发展趋势。本文主要分析当前电力企业一体化云运维管理的重要性,并就云运维管理中存在的问题进行有…

Spring 6【BeanFactory代码演示、实例化Bean的两种方式】(三)-全面详解(学习总结---从入门到深化)

目录 六、BeanFactory代码演示 七、实例化Bean的两种方式 六、BeanFactory代码演示 上面的案例代码就是我们平时使用Spring Framework的代码。 为了让小伙伴们能感受到BeanFactory&#xff0c;我们还是用实际代码来进行演示一下。毕竟 ApplicationContext在牛&#xff0c;对…

hadoop学习之hdfs学习

HDFS 文件系统,可以说是分布式数据库吧 结构是 目录树 适用场景:一次写入,多次读出.好像不太支持改删 优点: 1.高容错: 因为他会备份,所以一份出问题了,并不影响其他几份 如果副本丢失后,定时恢复.应该是定时检查然后恢复 每次启动,DN向NN汇报备份的存储情况.默认每个6个小时重…

波奇学Linux:git和gdb调试

git用来版本控制&#xff0c;同样是版本控制的软件还有svn等。 git的特定是具有网络功能的版本控制器&#xff0c;开源&#xff0c;client和server是一体的。(去中心化分布式管理) client和server一体意味着远程仓库和本地仓库是平等地位&#xff0c;远程仓库是特殊的仓库而已…

rtmp推流

目录 1、解压代码工程2、进入工程文件夹3、修改Makefile中的交叉编译路径4、编译5、板子上6、window上打开ffplay进行拉流注意:推流之前要先搭建好nginx服务器 1、解压代码工程 sudo unzip ffmpeg_rv1126_network_project_mark_finally.zip 2、进入工程文件夹 cd ffmpeg_rv…

AudioFocus源码分析

使用情景 在音视频app开发中一般会遵循音频焦点的机制&#xff0c;播放时申请音频焦点&#xff0c;丢失焦点后暂停播放&#xff0c;恢复焦点后继续播放等。尤其在车载开发时&#xff0c;涉及到三方应用和自研应用&#xff0c;导致经常出现音频焦点混乱混音等问题。 private f…

分享几个不常用的web api

分享几个不常用的web api 屏幕捕获 顾名思义&#xff0c;屏幕捕获 API 允许我们捕获屏幕内容&#xff0c;从而使构建屏幕录制的过程变得轻而易举。 在示例中我们使用video标签来显示捕获屏幕内容。 <video id"preview" autoplay>不支持HTML5 </video>…

Jmeter(119)-函数threadNum妙用

今天的接口场景是&#xff1a;有N个用户需要每隔5秒去查询一次数据&#xff0c;也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter&#xff0c; 要执行2个线程3次循环&#xff0c;发现每次循环时&#xff0c;接口中用户参数的数据就会不一样&am…

统计页面左右+上下自适应布局

1:如果需要调整分栏数量,那么只需要删除对应数据,修改百分比即可. <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css" lang"less" >body{margin: 0px ;}.box…

2.1Label Button 标签和按钮

2.1Label & Button 标签和按钮 窗口主体框架 每一个 tkinter 应用的主体框架都可以包含下面这部分. 定义 window 窗口 和 window的一些属性, 然后书写窗口内容, 最后执行window.mainloop让窗口活起来. import tkinter as tkwindow tk.Tk() window.title(my window) wind…

【C语言高阶篇】成为编程高手必学内容,程序中的动态内存分配我不允许还有人不会!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言高阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言&#x1f4ac; 为什么存在动态内存分配&#x1f4ac; 动态内存函数的介绍1️⃣ 动态内存函数 malloc&#…

西门子PLC上位机测试

上一篇我们讲了三菱PLC的数据通信方法&#xff0c;今天我们讲讲另外一个PLC巨头--西门子。 西门子有很多系列&#xff0c;今天讲到的是用S7协议的S71200。西门子同样提供了丰富的集成库&#xff0c;例如S7.NET&#xff0c;对于C#上位机开发&#xff0c;是非常容易的事情。 首…

API开发,机器人api二次开发

由于自身在机器人方面滚爬多年&#xff0c;尝试了很多次&#xff0c;选择了一个信任的工具 可以给有需要的朋友们借鉴一下 开发起来很方便&#xff0c;技术也已经挺成熟的了 贴一点简单的给大家看下呢 测试文档&#xff1a;https://www.wkteam.cn/ 简要描述&#xff1a; …