2024牛客寒假算法基础集训营1(视频讲解全部题目)

news2024/11/29 2:38:38

2024牛客寒假算法基础集训营1(题目全解)

  • A
  • B
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • J
  • K
  • L
  • M

2024牛客寒假算法基础集训营1(视频讲解全部题目)
在这里插入图片描述

A

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int n; cin >> n;
	string s; cin >> s;
	bool f = false, F = false;
	for(int i = 0; i < n; i ++){
		if(s[i] == 'd'){
			for(int j = i + 1; j < n; j ++){
				if(s[j] == 'f'){
					for(int k = j + 1; k < n; k ++){
						if(s[k] =='s'){
							f = true; 
						}
					}
				}
			}
		}
	}
		for(int i = 0; i < n; i ++){
		if(s[i] == 'D'){
			for(int j = i + 1; j < n; j ++){
				if(s[j] == 'F'){
					for(int k = j + 1; k < n; k ++){
						if(s[k] =='S'){
							F = true; 
						}
					}
				}
			}
		}
	}
	cout << F << " " << f << endl;	
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

B

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
#define x first
#define y second
#define int long long
using namespace std;
typedef pair<int,int> pii;
int dc[3] = {-1, 0, 1};
void solve()
{
	int n; cin >> n;
	int l = 2, r = 2;
	vector<pii>lp, rp;
	map<pii,bool>st;

	for(int i = 0; i < n; i ++){
		int r, c; cin >> r >> c;
		st[{c,r}] = true;
		if(c <= 0){
			lp.push_back({c, r});
		}else if(c > 0){
			rp.push_back({c, r});
		}
	}
	if(lp.size()){
		for(int i = 0; i < lp.size(); i ++){
			if(lp[i].first == 0 and lp[i].second == 2){
				if(!st[{-1, 1}]){
					l = min(1ll, l);
				}else{
					l = 0;
				}
				continue;
			}

			for(int j = 0; j < 3; j ++){
				int nc = lp[i].x + dc[j];
				int nr = 3 - lp[i].y;
				if(st[{nc, nr}]){
					l = 0;
				}else{
					l = min(l, 1ll);
				}
			}
		}
		
	}

	if((st[{-1, 1}] and l == 1)){
			st[{0, 2}] = true;
	}
	if(l == 2){
		st[{0, 2}] = true;
	}
	

	if(rp.size()){
		for(int i = 0; i < rp.size(); i ++){
			for(int j = 0; j < 3; j ++){
				int nc = rp[i].x + dc[j];
				int nr = 3 - rp[i].y;
				if(st[{nc, nr}]){
					r = 0;
				}else{
					r = min(r, 1ll);
				}
			}
		}
	}else{
		if(st[{0, 2}]){
			r = 1;
		}
	}
	int ans = l + r;
	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

C

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f3f3f3f3f
using namespace std;

void solve()
{
	int n, q, tc; cin >> n >> q >> tc;
	vector<int>t(n + 1);
	vector<int>s(n + 1);
	vector<int>ss(n + 1);
	for(int i = 1; i <= n; i ++){
		cin >> t[i];
	}
	sort(t.begin() + 1, t.end());
	for(int i = 1; i <= n; i ++){
		s[i] = s[i - 1] + t[i];
	}
	for(int i = 1; i <= n; i ++){
		ss[i] = ss[i - 1] + s[i];
	}

	while(q--){
		int M; cin >> M;
		int l = 1, r = n;
		while(l < r){
			int mid = l + r >> 1;
			int cnt = n - mid + 1;
			if(cnt * tc <= M){
				r = mid;
			}else{
				l = mid + 1;
			}
		}
		if(l == n){
			if(tc > M){
				cout << s[n] + tc << endl;
				continue;
			} 
		}
		cout << s[l - 1] + tc << endl;
	}
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t = 1;
	//cin >> t;
	while(t--)
	solve();
}

D

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
#define int long long
using namespace std;

void solve()
{
	int n, m; cin >> n >> m;
	vector<int>a(n);
	map<int,int>cnt;
	set<int>ans;
	ans.insert(0);

	for(int i = 0; i < n; i ++){
		cin >> a[i];
		cnt[a[i]] += 1;
	}
	if(n >= 30){
		//一定要减少绝对值不等于1的数字个数。
		for(auto [x, y]: cnt){
			if(n - cnt[x] - cnt[x - 2] > 30)
				continue;

			int mul = 1;
			bool flag = true;
			for(int i = 0; i < n; i ++){
				mul = mul * (a[i] - (x - 1));
				if(abs(mul) > 1e9){
					flag = false;
					break;
				}
			}
			if(flag)
				ans.insert(mul);

			mul = 1, flag = true;
			for(int i = 0; i < n; i ++){
				mul = mul * (a[i] - (x + 1));
				if(abs(mul) > 1e9){
					flag = false;
					break;
				}
			}
			if(flag)
				ans.insert(mul);
		}
	}else{
		//如果n <= 30
		sort(a.begin(), a.end());
		int tmp = a[0];
		for(int i = 0; i < n; i ++){
			a[i] -= tmp;
		}
		for(int i = -1e6; i <= 1e6; i ++){
			int mul = 1;
			bool flag = true;
			for(int j = 0; j < n; j ++){
				mul = mul * (a[j] + i);
				if(abs(mul) > 1e9){
					flag = false;
					break;
				}
			}
			if(flag)
				ans.insert(mul);
		}

		
		reverse(a.begin(), a.end());
		tmp = a[0];
		for(int i = 0; i < n; i ++){
			a[i] -= tmp;
		}
		
		for(int i = -1e6; i <= 1e6; i ++){
			int mul = 1;
			bool flag = true;
			for(int j = 0; j < n; j ++){
				mul = mul * (a[j] + i);
				if(abs(mul) > 1e9){
					flag = false;
					break;
				}
			}
			if(flag)
				ans.insert(mul);
		}
	}

	while(m--){
		int x; cin >> x;
		if(ans.count(x)){
			cout << "Yes" << endl;
		}else{
			cout << "No" << endl;
		}
	}

}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t = 1;
	//cin >> t;
	while(t--)
	solve();
}

E

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;
typedef pair<int,int> pii;

void solve()
{
	int n, m; cin >> n >> m;
	vector<int>a(n);
	vector<pii>b(m);
	for(int i = 0; i < n; i ++){
		cin >> a[i];
	}
	for(int i = 0; i < m; i ++){
		int u, v; 
		cin >> u >> v;
		u --, v --;
		b[i] = {u, v};
	}
	int ans = 11;

	function<void(int)> dfs = [&](int u)->void{
		
		if(u >= m){
			int sc = a[0];
			int top = 1;
			for(int i = 1; i < n; i ++){
				if(a[i] > sc){
					top ++;
				}
			}

			ans = min(ans, top);
			return;
		}
	
		int x = b[u].first, y = b[u].second;

		a[x] += 3;
		dfs(u + 1);
		//回溯
		a[x] -= 3;

		a[y] += 3;
		dfs(u + 1);
		
		a[y] -= 3;

		a[x] += 1, a[y] += 1;
		dfs(u + 1);
		a[x] -= 1, a[y] -= 1;
	};


	dfs(0);
	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

F

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;
const int N = 1e5 + 10;
const int mod = 1e9 + 7;

int fact[N], infact[N];

int qmi(int a, int b, int p){
	int res = 1;
	while(b){
		if(b & 1)
			res = res * a % p;
		a = a * a % p;
		b >>= 1;
	}
	return res;
}

void init(){
	fact[0] = infact[0] = 1;
	for(int i = 1; i < N; i ++){
		fact[i] = fact[i - 1] * i % mod;
		infact[i] = infact[i - 1] * qmi(i, mod - 2, mod) % mod;
	}
}

void solve()
{
	int n, m; cin >> n >> m;
	int res = 0;
	for(int i = 0; i <= m; i ++){
		if((m - i) % 2){
			res = ((res - (qmi(i, n, mod) * infact[i] % mod * infact[m - i] % mod)) % mod + mod) % mod;
		}else{
			res = (res + (qmi(i, n, mod) * infact[i] % mod * infact[m - i] % mod)) % mod;
		}
	}
	cout << res << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t = 1;
	// cin >> t;
	init();
	while(t--)
	solve();
}

G

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define x first
#define y second
#define int long long
#define INF 0x3f3f3f3f
using namespace std;
typedef pair<int,int> pii;

void solve()
{
	int n, m; cin >> n >> m;
	vector<pii>a(n + 1);
	for(int i = 1; i <= n; i ++){
		cin >> a[i].x >> a[i].y;
	}
	sort(a.begin(), a.end());
	vector<int>s(n + 1);
	for(int i = 1; i <= n; i ++){
		s[i] = s[i - 1] + a[i].y;
	}
	int ans = m;
	for(int i = n; i >= 1; i --){
		int dis = a[i].x - s[i];
		if(dis > m){
			continue;
		}
		ans = max(ans, m + s[i]);
	}
	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

H

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int n, m; cin >> n >> m;
	vector<int>v(n), w(n);
	for(int i = 0; i < n; i ++){
		cin >> v[i] >> w[i];
	}
	int ans = 0, pre = 0;
	for(int i = 31; i >= 0; i --){
		int x = pre;
		if((m >> i) & 1){
			x += (1 << i) - 1;
			pre += (1 << i);
		}

		int sum = 0;
		for(int j = 0; j < n; j ++){
			if((x | w[j]) == x){
				sum += v[j];
			}
		}
		ans = max(ans, sum);
	}


	int sum = 0;
	for(int j = 0; j < n; j ++){
		if((m | w[j]) == m){
			sum += v[j];
		}
	}
	
	ans = max(ans, sum);

	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

I

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;
uniform_int_distribution<int> u1(-99,99);//生成圆心
uniform_int_distribution<int> u2(1,100);//生成半径
default_random_engine e;

void test()
{
	int n = 1e5;
	double r1 = 0;
	for(int i = 1; i <= n; i ++){

		int x = u1(e), y = u1(e);
		while(1){
			int r = u2(e);
			if(x + r > 100 || x - r < -100 || y + r > 100 || y - r < -100){
				continue;
			}else{
				r1 += (r);
				break;
			}
		} 
		
	}
	double r2 = 0;
	for(int i = 1; i <= n; i ++){
		while(1){
			int x = u1(e), y = u1(e);
			int r = u2(e);
			if(x + r > 100 || x - r < -100 || y + r > 100 || y - r < -100){
				continue;
			}else{
				r2 += (r);
				break;
			}
		} 
	}
	r1 = r1 / n;
	r2 = r2	/ n;
	cout << r1 << " " << r2 << endl;
}
void solve(){
	int n; cin >> n;
	double sum = 0;
	for(int i = 0; i < n; i ++){
		int x, y, r; cin >> x >> y >> r;
		sum += r; 
	}
	sum /= n;
	if((int)sum == 17){
		cout << "bit-noob" << endl;
	}else{
		cout << "buaa-noob" << endl;
	}
}
signed main()
{
	e.seed(time(NULL));

	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	// solve();
		test();
}

J

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int n, x, y; cin >> n >> x >> y;
	vector<int>a(n);
	for(int i = 0; i < n; i ++){
		cin >> a[i];
	}

	auto check = [&](int dis)->bool{
		// cout << dis << endl;
		set<int>st;
		st.insert(x), st.insert(y);
		if(abs(x - y) > dis){
			return false;
		}

		for(int i = 0; i < a.size(); i ++){
			
			while(st.size() and abs(*st.begin() - a[i]) > dis){
				st.erase(st.begin());
			}
			while(st.size() and abs(*st.rbegin() - a[i]) > dis){
				st.erase(*st.rbegin());
			}
			
			if(!st.size()){
				return false;
			}
			st.insert(a[i]);
		}
		return true;
	};

	int l = 0, r = 1e9;
	while(l < r){
		int mid = l + r >> 1;
		if(check(mid)){
			r = mid;
		}else{
			l = mid + 1;
		}
	}
	cout << l << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t = 1;
	// cin >> t;
	while(t--)
	solve();
}

K

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
#define int long long
using namespace std;
const int N = 1e5 + 10;
const int mod = 998244353;
int nex[N];
string choice[N];
int p[N], in[N];
bool st[N];
char t[N];
set<int> root;
int nums;

int find(int x){
	if(x != p[x])
		p[x] = find(p[x]);
	return p[x];
}

void init(int x){
	for(int i = 1; i <= x; i ++){
		p[i] = i;
		root.insert(i);
	}
}

void merge(int x, int y){
	int px = find(x);
	int py = find(y);
	if(px != py){
		if(in[px])
		{
			p[px] = py;
			root.erase(px);
		}
		else
		{
			p[py] = px;
			root.erase(py);
		}
	}
}

void dfs(int u, char answer){
	if(st[nex[u]]){
		if(answer == t[nex[u]]){
			nums ++;
		}
		return;
	}
	
	char nex_answer = choice[nex[u]][answer - 'A'];
	t[nex[u]] = answer;
	st[nex[u]] = true;
	dfs(nex[u], nex_answer);	
	st[nex[u]] = false;
}

void solve()
{
	int n; cin >> n;
	init(n);

	for(int i = 1; i <= n; i ++){
		int x; string s;
		cin >> x >> s;
		choice[i] = s;
		nex[i] = x;
		in[x] ++;
		merge(x, i);
	}

	int ans = 1;
	for(auto x: root){
		for(int i = 0; i < 5; i ++){
			t[x] = ('A' + i);
			st[x] = true;
			dfs(x, choice[x][i]);
		}
		ans = nums * ans % mod;
		nums = 0;
	}
	cout << ans << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	t = 1;
	// cin >> t;
	while(t--)
	solve();
}

L

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;

void solve()
{
	int c, d, h, w;
	cin >> c >> d >> h >> w;
	cout << 3 * w * c << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

M

#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
#define int long long
using namespace std;

void solve()
{
	int n; cin >> n;
	if(n % 6)
		cout << (n / 6) * 2 << endl;
	else
		cout << (n / 6) << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	//t = 1;
	cin >> t;
	while(t--)
	solve();
}

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

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

相关文章

redis数据库设置对象的过期时间,到期后自动删除该条数据

redis数据库设置对象的过期时间,到期后自动删除该条数据&#xff01;过期时间的事情经常发生。比如大家领到了一些购物券。这张购物券有一个过期时间。必须在某节点之前&#xff08;某年某月末日&#xff09;之前&#xff0c;使用掉&#xff0c;否则该券就会过期&#xff0c;无…

ES高可用架构涉及常用功能整理

ES高可用架构涉及常用功能整理 1. es的高可用系统架构和相关组件2. es的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 数据分片按ip打散2.2.2 数据分片机架感知2.2.3 强制要求数据分片机架感知2.2.4 写入线程池优化2.2.5 分片balance优化2.2.6 限流控制器优化 3. es常用命令3.1 …

超低价搭建cyberpanel+LiteSpeed企业版web服务器

注意&#xff0c;这里的企业版使用的是官方提供的免费密钥&#xff0c;在密钥激活后有一个月的有效时间&#xff0c;到期后官方会自动续期你的密钥 教学用配置&#xff1a; image1097698 126 KB 优惠链接&#xff1a;雨云 - 新一代云服务提供商 3 这是LiteSpeed&#xff08;以…

vue3 源码解析(5)— patch 函数源码的实现

什么是 patch 在 vue 中 patch 函数的作用是在渲染的过程中&#xff0c;比较新旧节点的变化&#xff0c;通过打补丁的形式&#xff0c;进行新增、删除、移动或替换操作&#xff0c;此过程避免了大量的 dom 操作&#xff0c;提升了运行的性能。 patch 执行流程 patch 函数整体…

0-MQTT基础使用教程【学习】

文件路径 MQTT基础使用教程1. MQTT1.1 MQTT简介1.1.1 什么是MQTT1.1.2 设计原则1.1.3 应用领域1.2 MQTT协议相关概念1.2.1 MQTT协议实现方式1.2.2 MQTT协议中的方法1.3 消息服务质量QoS1.3.1 消息服务质量QoS三个等级1.3.2 发布与订阅QoS1.4 Topic通配符匹配规则2. EMQX2.1 EMQ…

100183. 最大好子数组和

题目&#xff1a; 给你一个长度为 n 的数组 nums 和一个 正 整数 k 。 如果 nums 的一个子数组中&#xff0c;第一个元素和最后一个元素 差的绝对值恰好 为 k &#xff0c;我们称这个子数组为 好 的。换句话说&#xff0c;如果子数组 nums[i..j] 满足 |nums[i] - nums[j]| k…

Python基于时间序列分析的大气污染预测的设计与实现,附源码

1 简介 Python基于时间序列分析的大气污染预测的设计与实现 摘要&#xff1a;随着当今社会工业的发展&#xff0c;世界各地的空气质量都下降的非常明显&#xff0c;大气的污染对人们的身体健康会产生极大的危害。所以从20世纪初我国就十分关注空气质量的治理问题&#xff0c;…

【Java】Redis入门

1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 官网&#xff1a;https://redis.io 中文网&#xff1a;https://www.redis.net.cn/ key-value结构存储&#xff1a; 主要特点&#xff1a; 基于内…

【Android】使用Termux终端的SSH服务与电脑传输文件

在Android手机上有一个Termux APP&#xff0c;可运行类似 Linux 终端的模拟器&#xff0c;记得之前有讲过用电脑远程控制手机终端命令&#xff0c;那现在&#xff0c;怎样实现电脑与手机直接传输文件呢&#xff0c;且看这篇文章。 文章目录 Termux安装功能ssh服务从远程下载从本…

深度学习入门笔记(六)线性回归模型

本节&#xff0c;我们用线性回归为例子&#xff0c;回顾一些基本概念 6.1 相关性 相关性的取值范围是-1 到 1&#xff0c;越接近 1 或者-1 代表越相关&#xff0c;越接近 0 则越不相关。相关系数大于 0 称为正相关&#xff0c;小于 0 称为负相关。 假如 A 与 B 正相关&#…

[Linux 进程控制(二)] 写时拷贝 - 进程终止

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制&#xff0c;讲之前我们先把写时拷贝理清&#xff0c;然后再开始讲进程控制。…

VMware无法检测到插入的USB设备,虚拟机插拔USB无反应

原本正常使用的VMware虚拟机&#xff0c;在进行了重装软件后&#xff0c;发现虚拟机插拔USB设备都无法检测到&#xff0c;没有任何的反应和提示。 通过一系列的操作发现&#xff0c;在新安装了VMware workstation 软件后&#xff0c;存在一定的概率性会发生VMware虚拟机无法自…

牛客网-------------------------长方体

解题思路&#xff1a; 设棱长为x&#xff0c;y&#xff0c;z&#xff1b;假设已知面积为a&#xff0c;b&#xff0c;c 那么&#xff0c;xya&#xff1b;yzb&#xff1b;xzc&#xff1b; 一式除二式得x/za/b x(a/b)*z 联立xzc 代入得&#xff08;a/b)z^2c z^2c*b/a z根号下&…

pdf怎么转成高清图?pdf在线转换器推荐分享

在日常的工作或者学习中&#xff0c;有时候会需要将编辑好的pdf转高清图片&#xff0c;这样更方便我们后续使用&#xff0c;那么怎么将pdf转图片&#xff08;https://www.yasuotu.com/pdftopic&#xff09;还能保持清晰呢&#xff1f;下面介绍一款pdf转换工具&#xff0c;支持p…

某头部股份制银行基于 Data Fabric 的敏捷数据准备创新实践

【背景】 随着数字化转型的持续深入&#xff0c;某头部股份制银行把“依托数据洞察提升管理和营销的精准度、实现经营与服务的精细化与个性化”作为参与下一阶段数字化业务竞争的核动力。经过多年的探索&#xff0c;该头部股份制银行数字化技术与业务场景的融合逐渐进入了深水…

中科大计网学习记录笔记(三):接入网和物理媒体

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

《学成在线》微服务实战项目实操笔记系列(P1~P49)【上】

《学成在线》项目实操笔记系列【上】&#xff0c;跟视频的每一P对应&#xff0c;全系列12万字&#xff0c;涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳&#xff0c;参考这篇&#xff0c;相信会带给你极大启发。同时也欢迎大家提问与讨论&#xff0c;我会尽力帮大家解…

高通android设备themal读取cpu温度

以msm8953的themal分布信息&#xff0c;主要是下图的位置&#xff1a; 这其中 cpu相关的themal的位置有&#xff1a; 读取thermal 温度数据可以通过以下几个步骤&#xff1a; 获取sensor_info rootmsm8953_64:/ # cat /sys/module/msm_thermal/sensor_info tsens:tsens_tz_se…

数据结构 - 线段树

1. 预制值&#xff1a; 构建的数组为&#xff0c;nums&#xff1a;【2&#xff0c; 5&#xff0c; 1&#xff0c; 4&#xff0c; 3】区间和问题&#xff0c;假设求区间 [1&#xff0c;3] 的和 2. 建树 2.1 构建线段树数组 int[] segT new int[4*n]&#xff08;为什么数组大…

Vivado Tri-MAC IP的例化配置(三速以太网IP)

目录 1 Tri-MAC IP使用RGMII接口的例化配置1.1 Data Rate1.2 interface配置1.3 Shared Logic配置1.4 Features 2 配置完成IP例化视图 1 Tri-MAC IP使用RGMII接口的例化配置 在网络设计中&#xff0c;使用的IP核一般为三速以太网IP核&#xff0c;使用时在大多数场景下为配置为三…