AtCoder Beginner Contest 359(ABCDEFG题)视频讲解

A - Count Takahashi

Problem Statement

You are given N N N strings.
The i i i-th string S i S_i Si ( 1 ≤ i ≤ N ) (1 \leq i \leq N) (1iN) is either Takahashi or Aoki.
How many i i i are there such that S i S_i Si is equal to Takahashi?

Constraints

1 ≤ N ≤ 100 1 \leq N \leq 100 1N100
N N N is an integer.
Each S i S_i Si is Takahashi or Aoki. ( 1 ≤ i ≤ N ) (1 \leq i \leq N) (1iN)

Input

The input is given from Standard Input in the following format:

N N N
S 1 S_1 S1
S 2 S_2 S2
⋮ \vdots
S N S_N SN

Output

Print the count of i i i such that S i S_i Si is equal to Takahashi as an integer in a single line.

Sample Input 1

3
Aoki
Takahashi
Takahashi

Sample Output 1

2

S 2 S_2 S2 and S 3 S_3 S3 are equal to Takahashi, while S 1 S_1 S1 is not.
Therefore, print 2.

Sample Input 2

2
Aoki
Aoki

Sample Output 2

0

It is possible that no S i S_i Si is equal to Takahashi.

Sample Input 3

20
Aoki
Takahashi
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi
Takahashi
Aoki
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi

Sample Output 3

7

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	int n;
	cin >> n;

	int res = 0;
	for (int i = 1; i <= n; i ++) {
		string s;
		cin >> s;
		if (s == "Takahashi") res ++;
	}
	cout << res << endl;

	return 0;
}

B - Couples

Problem Statement

There are 2 N 2N 2N people standing in a row, and the person at the i i i-th position from the left is wearing clothes of color A i A_i Ai. Here, the clothes have N N N colors from 1 1 1 to N N N, and exactly two people are wearing clothes of each color.
Find how many of the integers i = 1 , 2 , … , N i=1,2,\ldots,N i=1,2,,N satisfy the following condition:
There is exactly one person between the two people wearing clothes of color i i i.

Constraints

2 ≤ N ≤ 100 2 \leq N \leq 100 2N100
1 ≤ A i ≤ N 1 \leq A_i \leq N 1AiN
Each integer from 1 1 1 through N N N appears exactly twice in A A A.
All input values are integers.

Input

The input is given from Standard Input in the following format:

N N N
A 1 A_1 A1 A 2 A_2 A2 … \ldots A 2 N A_{2N} A2N

Output

Print the answer.

Sample Input 1

3
1 2 1 3 2 3

Sample Output 1

2

There are two values of i i i that satisfy the condition: 1 1 1 and 3 3 3.
In fact, the people wearing clothes of color 1 1 1 are at the 1st and 3rd positions from the left, with exactly one person in between.

Sample Input 2

2
1 1 2 2

Sample Output 2

0

There may be no i i i that satisfies the condition.

Sample Input 3

4
4 3 2 3 2 1 4 1

Sample Output 3

3

Solution

具体见文末视频。

Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	int n;
	cin >> n;

	std::vector<int> a(2 * n);
	for (int i = 0; i < 2 * n; i ++)
		cin >> a[i];

	int res = 0;
	for (int i = 1; i < 2 * n - 1; i ++)
		if (a[i - 1] == a[i + 1])
			res ++;

	cout << res << endl;

	return 0;
}

C - Tile Distance 2

Problem Statement

The coordinate plane is covered with 2 × 1 2\times1 2×1 tiles. The tiles are laid out according to the following rules:
For an integer pair ( i , j ) (i,j) (i,j), the square A i , j = { ( x , y ) ∣ i ≤ x ≤ i + 1 ∧ j ≤ y ≤ j + 1 } A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace Ai,j={(x,y)ixi+1jyj+1} is contained in one tile.
When i + j i+j i+j is even, A i , j A _ {i,j} Ai,j and A i + 1 , j A _ {i + 1,j} Ai+1,j are contained in the same tile.
Tiles include their boundaries, and no two different tiles share a positive area.
Near the origin, the tiles are laid out as follows:

Takahashi starts at the point ( S x + 0.5 , S y + 0.5 ) (S _ x+0.5,S _ y+0.5) (Sx+0.5,Sy+0.5) on the coordinate plane.
He can repeat the following move as many times as he likes:
Choose a direction (up, down, left, or right) and a positive integer n n n. Move n n n units in that direction.
Each time he enters a tile, he pays a toll of 1 1 1.
Find the minimum toll he must pay to reach the point ( T x + 0.5 , T y + 0.5 ) (T _ x+0.5,T _ y+0.5) (Tx+0.5,Ty+0.5).

Constraints

0 ≤ S x ≤ 2 × 1 0 16 0\leq S _ x\leq2\times10 ^ {16} 0Sx2×1016
0 ≤ S y ≤ 2 × 1 0 16 0\leq S _ y\leq2\times10 ^ {16} 0Sy2×1016
0 ≤ T x ≤ 2 × 1 0 16 0\leq T _ x\leq2\times10 ^ {16} 0Tx2×1016
0 ≤ T y ≤ 2 × 1 0 16 0\leq T _ y\leq2\times10 ^ {16} 0Ty2×1016
All input values are integers.

Input

The input is given from Standard Input in the following format:

S x S _ x Sx S y S _ y Sy
T x T _ x Tx T y T _ y Ty

Output

Print the minimum toll Takahashi must pay.

Sample Input 1

5 0
2 5

Sample Output 1

5

For example, Takahashi can pay a toll of 5 5 5 by moving as follows:

Move left by 1 1 1. Pay a toll of 0 0 0.
Move up by 1 1 1. Pay a toll of 1 1 1.
Move left by 1 1 1. Pay a toll of 0 0 0.
Move up by 3 3 3. Pay a toll of 3 3 3.
Move left by 1 1 1. Pay a toll of 0 0 0.
Move up by 1 1 1. Pay a toll of 1 1 1.
It is impossible to reduce the toll to 4 4 4 or less, so print 5.

Sample Input 2

3 1
4 1

Sample Output 2

0

There are cases where no toll needs to be paid.

Sample Input 3

2552608206527595 5411232866732612
771856005518028 7206210729152763

Sample Output 3

1794977862420151

Note that the value to be output may exceed the range of a 32 32 32-bit integer.

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	int sx, sy, fx, fy;
	cin >> sx >> sy >> fx >> fy;

	int res = abs(sy - fy);
	if ((sx + sy & 1) && fx < sx || ((sx + sy) % 2 == 0) && fx > sx) {
		res += max(0ll, abs(sx - fx) - abs(sy - fy) >> 1);
	} else {
		res += max(0ll, abs(sx - fx) - abs(sy - fy) + 1 >> 1);
	}

	cout << res << endl;

	return 0;
}

D - Avoid K Palindrome

Problem Statement

You are given a string S S S of length N N N consisting of characters A, B, and ?.
You are also given a positive integer K K K.
A string T T T consisting of A and B is considered a good string if it satisfies the following condition:
No contiguous substring of length K K K in T T T is a palindrome.
Let q q q be the number of ? characters in S S S.
There are 2 q 2^q 2q strings that can be obtained by replacing each ? in S S S with either A or B. Find how many of these strings are good strings.
The count can be very large, so find it modulo 998244353 998244353 998244353.

Constraints

2 ≤ K ≤ N ≤ 1000 2 \leq K \leq N \leq 1000 2KN1000
K ≤ 10 K \leq 10 K10
S S S is a string consisting of A, B, and ?.
The length of S S S is N N N.
N N N and K K K are integers.

Input

The input is given from Standard Input in the following format:

N N N K K K
S S S

Output

Print the answer.

Sample Input 1

7 4
AB?A?BA

Sample Output 1

1

The given string has two ?s.
There are four strings obtained by replacing each ? with A or B:
ABAAABA
ABAABBA
ABBAABA
ABBABBA
Among these, the last three contain the contiguous substring ABBA of length 4, which is a palindrome, and thus are not good strings.
Therefore, you should print 1.

Sample Input 2

40 7
????????????????????????????????????????

Sample Output 2

116295436

Ensure to find the number of good strings modulo 998244353 998244353 998244353.

Sample Input 3

15 5
ABABA??????????

Sample Output 3

0

It is possible that there is no way to replace the ?s to obtain a good string.

Sample Input 4

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

Sample Output 4

259240

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

const int N = 1e3 + 10, M = 11, mod = 998244353;

int n, k;
string s;
int f[N][1 << M];

bool check(int x) {
	string a, b;
	for (int i = 0; i < k; i ++)
		a += char((x >> i & 1) ^ 48);
	b = a;
	reverse(b.begin(), b.end());
	return a != b;
}

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	cin >> n >> k >> s;
	s = ' ' + s;

	std::vector<int> avl;
	avl.push_back(0);
	for (int i = 1; i <= k; i ++) {
		std::vector<int> ok;
		while (avl.size()) {
			int tmp = avl.back();
			avl.pop_back();
			if (s[i] == '?') {
				ok.push_back(tmp), ok.push_back(tmp | (1ll << i - 1));
			} else if (s[i] == 'B') {
				ok.push_back(tmp | (1ll << i - 1));
			} else {
				ok.push_back(tmp);
			}
		}
		avl = ok;
	}
	for (auto v : avl)
		if (check(v))
			f[k][v] = 1;
	for (int i = k + 1; i <= n; i ++)
		for (int j = 0; j < 1ll << k; j ++)
			if (s[i] == '?') {
				if (check(j) && check(j >> 1)) f[i][j >> 1] = (f[i][j >> 1] + f[i - 1][j]) % mod;
				if (check(j) && check((j >> 1) | (1ll << k - 1))) f[i][(j >> 1) | (1ll << k - 1)] = (f[i][(j >> 1) | (1ll << k - 1)] + f[i - 1][j]) % mod;
			} else if (s[i] == 'B') {
				if (check(j) && check((j >> 1) | (1ll << k - 1))) f[i][(j >> 1) | (1ll << k - 1)] = (f[i][(j >> 1) | (1ll << k - 1)] + f[i - 1][j]) % mod;
			} else {
				if (check(j) && check(j >> 1)) f[i][j >> 1] = (f[i][j >> 1] + f[i - 1][j]) % mod;
			}

	int res = 0;
	for (int i = 0; i < 1ll << k; i ++)
		res = (res + f[n][i]) % mod;

	cout << res << endl;

	return 0;
}

E - Water Tank

Problem Statement

You are given a sequence of positive integers of length N N N: H = ( H 1 , H 2 , … , H N ) H=(H _ 1,H _ 2,\dotsc,H _ N) H=(H1,H2,,HN).
There is a sequence of non-negative integers of length N + 1 N+1 N+1: A = ( A 0 , A 1 , … , A N ) A=(A _ 0,A _ 1,\dotsc,A _ N) A=(A0,A1,,AN). Initially, A 0 = A 1 = ⋯ = A N = 0 A _ 0=A _ 1=\dotsb=A _ N=0 A0=A1==AN=0.
Perform the following operations repeatedly on A A A:

  1. Increase the value of $A _ 0$ by $1$. For $i=1,2,\ldots,N$ in this order, perform the following operation: If $A _ {i-1}\gt A _ i$ and $A _ {i-1}\gt H _ i$, decrease the value of $A _ {i-1}$ by 1 and increase the value of $A _ i$ by $1$.
For each $i=1,2,\ldots,N$, find the number of operations before $A _ i>0$ holds for the first time. ## Constraints

1 ≤ N ≤ 2 × 1 0 5 1\leq N\leq2\times10 ^ 5 1N2×105
1 ≤ H i ≤ 1 0 9   ( 1 ≤ i ≤ N ) 1\leq H _ i\leq10 ^ 9\ (1\leq i\leq N) 1Hi109 (1iN)
All input values are integers.

Input

The input is given from Standard Input in the following format:

N N N
H 1 H _ 1 H1 H 2 H _ 2 H2 … \dotsc H N H _ N HN

Output

Print the answers for i = 1 , 2 , … , N i=1,2,\ldots,N i=1,2,,N in a single line, separated by spaces.

Sample Input 1

5
3 1 4 1 5

Sample Output 1

4 5 13 14 26

The first five operations go as follows.
Here, each row corresponds to one operation, with the leftmost column representing step 1 and the others representing step 2.

From this diagram, A 1 > 0 A _ 1\gt0 A1>0 holds for the first time after the 4th operation, and A 2 > 0 A _ 2\gt0 A2>0 holds for the first time after the 5th operation.
Similarly, the answers for A 3 , A 4 , A 5 A _ 3, A _ 4, A _ 5 A3,A4,A5 are 13 , 14 , 26 13, 14, 26 13,14,26, respectively.
Therefore, you should print 4 5 13 14 26.

Sample Input 2

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

Sample Output 2

1000000001 2000000001 3000000001 4000000001 5000000001 6000000001

Note that the values to be output may not fit within a 32 32 32-bit integer.

Sample Input 3

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632

Sample Output 3

749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

const int N = 2e5 + 10;

int n;
int a[N], to[N], f[N];

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	cin >> n;

	stack<int> stk;
	for (int i = 1; i <= n; i ++) {
		cin >> a[i];
		while (stk.size() && a[stk.top()] < a[i]) stk.pop();
		if (stk.size()) to[i] = stk.top();
		stk.push(i);
	}

	for (int i = 1; i <= n; i ++)
		f[i] = f[to[i]] + (i - to[i]) * a[i], cout << f[i] + 1 << " ";

	return 0;
}

F - Tree Degree Optimization

Problem Statement

You are given a sequence of integers A = ( A 1 , … , A N ) A=(A_1,\ldots,A_N) A=(A1,,AN). For a tree T T T with N N N vertices, define f ( T ) f(T) f(T) as follows:
Let d i d_i di be the degree of vertex i i i in T T T. Then, f ( T ) = ∑ i = 1 N d i 2 A i f(T)=\sum_{i=1}^N {d_i}^2 A_i f(T)=i=1Ndi2Ai.
Find the minimum possible value of f ( T ) f(T) f(T).
The constraints guarantee the answer to be less than 2 63 2^{63} 263.

Constraints

2 ≤ N ≤ 2 × 1 0 5 2\leq N\leq 2\times 10^5 2N2×105
1 ≤ A i ≤ 1 0 9 1\leq A_i \leq 10^9 1Ai109
All input values are integers.

Input

The input is given from Standard Input in the following format:

N N N
A 1 A_1 A1 A 2 A_2 A2 … \ldots A N A_N AN

Output

Print the answer.

Sample Input 1

4
3 2 5 2

Sample Output 1

24

Consider a tree T T T with an edge connecting vertices 1 1 1 and 2 2 2, an edge connecting vertices 2 2 2 and 4 4 4, and an edge connecting vertices 4 4 4 and 3 3 3.
Then, f ( T ) = 1 2 × 3 + 2 2 × 2 + 1 2 × 5 + 2 2 × 2 = 24 f(T) = 1^2\times 3 + 2^2\times 2 + 1^2\times 5 + 2^2\times 2 = 24 f(T)=12×3+22×2+12×5+22×2=24. It can be proven that this is the minimum value of f ( T ) f(T) f(T).

Sample Input 2

3
4 3 2

Sample Output 2

15

Sample Input 3

7
10 5 10 2 10 13 15

Sample Output 3

128

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

const int N = 2e5 + 10;

int n;
int a[N], d[N];

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	cin >> n;
	for (int i = 1; i <= n; i ++)
		cin >> a[i];
	priority_queue<PII, vector<PII>, greater<PII>> heap;
	for (int i = 1; i <= n; i ++)
		d[i] = 1, heap.push({a[i] * (2 * d[i] + 1), i});

	for (int i = 1; i <= n - 2; i ++) {
		auto tmp = heap.top(); heap.pop();
		d[tmp.se] ++, heap.push({a[tmp.se] * (2 * d[tmp.se] + 1), tmp.se});
	}
	int res = 0;
	for (int i = 1; i <= n; i ++) res += d[i] * d[i] * a[i];

	cout << res << endl;

	return 0;
}

G - Sum of Tree Distance

Problem Statement

You are given a tree with N N N vertices. The i i i-th edge connects vertices u i u_i ui and v i v_i vi bidirectionally.
Additionally, you are given an integer sequence A = ( A 1 , … , A N ) A=(A_1,\ldots,A_N) A=(A1,,AN).
Here, define f ( i , j ) f(i,j) f(i,j) as follows:
If A i = A j A_i = A_j Ai=Aj, then f ( i , j ) f(i,j) f(i,j) is the minimum number of edges you need to traverse to move from vertex i i i to vertex j j j. If A i ≠ A j A_i \neq A_j Ai=Aj, then f ( i , j ) = 0 f(i,j) = 0 f(i,j)=0.
Calculate the value of the following expression:

$\displaystyle \sum_{i=1}^{N-1}\sum_{j=i+1}^N f(i,j)$.
## Constraints

2 ≤ N ≤ 2 × 1 0 5 2 \leq N \leq 2 \times 10^5 2N2×105
1 ≤ u i , v i ≤ N 1 \leq u_i, v_i \leq N 1ui,viN
1 ≤ A i ≤ N 1 \leq A_i \leq N 1AiN
The input graph is a tree.
All input values are integers.

Input

The input is given from Standard Input in the following format:

N N N
u 1 u_1 u1 v 1 v_1 v1
⋮ \vdots
u N − 1 u_{N-1} uN1 v N − 1 v_{N-1} vN1
A 1 A_1 A1 A 2 A_2 A2 … \ldots A N A_N AN

Output

Print the answer.

Sample Input 1

4
3 4
4 2
1 2
2 1 1 2

Sample Output 1

4

f ( 1 , 4 ) = 2 , f ( 2 , 3 ) = 2 f(1,4)=2, f(2,3)=2 f(1,4)=2,f(2,3)=2. For all other KaTeX parse error: Expected 'EOF', got '&' at position 17: …, j\ (1 \leq i &̲lt; j \leq N), we have f ( i , j ) = 0 f(i,j)=0 f(i,j)=0, so the answer is 2 + 2 = 4 2+2=4 2+2=4.

Sample Input 2

8
8 6
3 8
1 4
7 8
4 5
3 4
8 2
1 2 2 2 3 1 1 3

Sample Output 2

19

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long

using namespace std;

typedef pair<int, int> PII;
typedef long long LL;

const int N = 2e5 + 10, B = 448;

int n;
int a[N], dep[N], idx[N], tot[N], cnt[N], acl[N][B + 10], id[N];
int f[N << 1][20], Euler[N << 1], pl[N], m, sub;
std::vector<int> g[N], pos[N], big;

void dfs(int u, int fa) {
	Euler[ ++ m] = u, pl[u] = m;
	for (auto v : g[u]) {
		if (v == fa) continue;
		dep[v] = dep[u] + 1;
		dfs(v, u), Euler[ ++ m] = u;
	}
}
void dfs2(int u, int fa) {
	if (id[a[u]]) acl[u][id[a[u]]] ++;
	for (auto v : g[u]) {
		if (v == fa) continue;
		dfs2(v, u);
		for (auto i : big) acl[u][i] += acl[v][i];
	}
	for (auto i : big) {
		int sum = 0, res = 0;
		for (auto v : g[u]) {
			if (v == fa) continue;
			res += acl[v][i] * sum, sum += acl[v][i];
		}
		sub += res * dep[u] * 2;
	}
	if (id[a[u]]) sub += (acl[u][id[a[u]]] - 1) * dep[u] * 2;
}
void build() {
	for (int j = 0; j <= log2(m); j ++)
		for (int i = 1; i + (1ll << j) - 1 <= m; i ++)
			if (!j) f[i][j] = i;
			else {
				if (dep[Euler[f[i][j - 1]]] < dep[Euler[f[i + (1ll << j - 1)][j - 1]]]) f[i][j] = f[i][j - 1];
				else f[i][j] = f[i + (1ll << j - 1)][j - 1];
			}
}
int query(int l, int r) {
	int k = log2(r - l + 1);
	if (dep[Euler[f[l][k]]] < dep[Euler[f[r - (1ll << k) + 1][k]]]) return f[l][k];
	return f[r - (1ll << k) + 1][k];
}
int lca(int a, int b) {
	if (pl[a] > pl[b]) swap(a, b);
	return Euler[query(pl[a], pl[b])];
}

signed main() {
	cin.tie(0);
	cout.tie(0);
	ios::sync_with_stdio(0);

	cin >> n;
	for (int i = 1; i < n; i ++) {
		int u, v;
		cin >> u >> v;
		g[u].push_back(v), g[v].push_back(u);
	}
	for (int i = 1; i <= n; i ++)
		cin >> a[i], pos[a[i]].push_back(i);
	dfs(1, -1), build();

	int res1 = 0, res2 = 0, tmp = 0;
	for (int i = 1; i <= n; i ++) {
		if (pos[a[i]].size() <= B) {
			for (int j = 0; j < idx[a[i]]; j ++)
				res2 += dep[lca(i, pos[a[i]][j])] * 2;
			idx[a[i]] ++;
		} else if (!id[a[i]]) id[a[i]] = ++ tmp, big.push_back(tmp);
		res1 += tot[a[i]] + cnt[a[i]] * dep[i];
		tot[a[i]] += dep[i], cnt[a[i]] ++;
	}
	dfs2(1, -1);
	cout << res1 - res2 - sub << endl;

	return 0;
}

视频题解

AtCoder Beginner Contest 359(A ~ G 题讲解)


最后祝大家早日在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于IDEA的Maven(坐标信息介绍和编写)

这篇博客来学习和分析一下&#xff1a; " pom.xml " 所生成的最基本的信息。 之前的博客中讲到&#xff0c;学 Maven 就是学 " pom.xml " 的配置。后面也会围绕这个文件进行学习。 目录 一、分析 pom.xml 文件 &#xff08;1&#xff09;分析的 "p…

YOLOv9基础 | 实时目标检测新SOTA,手把手带你深度解析yolov9论文!

前言:Hello大家好,我是小哥谈。YOLOv9是Chien-Yao Wang等人提出的YOLO系列的最新版本之一(截止到目前,YOLOv10已发布),于2024年2月21日发布。它是 YOLOv7的改进版本,两者均由Chien-Yao Wang及其同事开发。本节课就以YOLOv9论文为基础带大家深入解析YOLOv9算法。🌈 …

React+TS前台项目实战(十五)-- 全局常用组件Table封装

文章目录 前言Table组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 在这篇文章中&#xff0c;我们将对本系列项目中常用的表格组件Table进行自定义封装&#xff0c;以提高性能并适应项目需求。后期也可进行修改和扩展&#xff0c;以满足项目的需求。 Table组…

html--404页面

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <title>404 错误页面不存在&…

【Linux】进程间通信3——线程安全

1.Linux线程互斥 1.1.进程线程间的互斥相关背景概念 临界资源&#xff1a; 多线程执行流共享的资源叫做临界资源。临界区&#xff1a; 每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区。互斥&#xff1a; 任何时刻&#xff0c;互斥保证有且只有一个执行…

一年前 LLM AGI 碎片化思考与回顾系列⑦ · 在SystemⅡ未知之境之中徘徊

阅读提示&#xff1a; 本篇系列内容的是建立于自己过去一年在以LLM为代表的AIGC快速发展浪潮中结合学术界与产业界创新与进展的一些碎片化思考并记录最终沉淀完成&#xff0c;在内容上&#xff0c;与不久前刚刚完稿的那篇10万字文章「融合RL与LLM思想&#xff0c;探寻世界模型以…

乾坤微服务的使用

前言&#xff1a; 在这里整理下用乾坤来开发微服务的一些资料。 使用好处&#xff1a; 使用乾坤可以实现什么效果呢&#xff1f;众所周知&#xff0c;前端的框架五花八门&#xff0c;react/vue/angular等各领风骚&#xff0c;那么如果我们有需要把不同技术栈的项目整合起来&…

UFS Power Mode Change 介绍

一. UFS Power Mode Change简介 1.UFS Power Mode指的是Unipro层的Power State, 也可以称为链路(Link)上的Power Mode, 可以通过配置Unipro Attribute, 然后控制切换Unipro Power State, 当前Power Mode Change有两种触发方式&#xff1a; (1) 通过DME Power Mode Change触发…

Tortoise 删除文件

1、右击需要删除的文件&#xff0c;选择Delete 2、提交

遗传算法求解时间窗车辆路径规划问题(附python代码)

摘要 本研究提出了一种基于遗传算法的车辆路径规划&#xff08;VRP&#xff09;问题求解框架&#xff0c;它能够有效地处理一系列复杂约束&#xff0c;包括软时间窗、硬时间窗、行驶距离限制、车辆最大载重量、多个配送中心的协调、特定的配送顺序&#xff0c;以及多种车型的选…

【Python系列】探索 NumPy 中的 mean 函数:计算平均值的利器

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【AI技术】GPT-4o背后的语音技术猜想

前言&#xff1a; 本篇文章全文credit 给到 台大的李宏毅老师&#xff0c;李宏毅老师在机器学习上风趣幽默、深入浅出的讲解&#xff0c;是全宇宙学AI、讲中文学生的福音&#xff0c;强力推荐李宏毅老师的机器学习课程和深度学习 人工智能导论&#xff1b; 李宏毅老师的个人长…

LabVIEW机器视觉在质量控制中的应用

基于LabVIEW的机器视觉系统在质量控制中应用广泛&#xff0c;通过图像采集、处理和分析&#xff0c;自动检测产品缺陷、测量尺寸和识别标记&#xff0c;提高生产效率和产品质量。下面介绍LabVIEW机器视觉系统在质量控制中的实现方法、应用场景及其优势。 项目背景 在现代制造业…

Redis 入门篇

文章目录 Redis简介关系型数据库:非关系型数据库 Redis应用场景Redis下载和安装Redis 数据类型Redis 常用命令字符串 string 操作命令哈希 hash 操作命令列表 list 操作命令集合 set 操作命令有序集合 sorted set 操作命令通用命令 Jedis 快速入门配置依赖建立连接 / 操作 Jedi…

ShareX,屏幕截图、屏幕录制和文件共享,还提供了丰富的高级功能和自定义选项

ShareX是一个免费开源的Windows应用程序&#xff0c;用于屏幕截图、屏幕录制和文件共享。它不仅支持基本的屏幕截图功能&#xff0c;还提供了丰富的高级功能和自定义选项&#xff0c;使其成为提高工作效率和截图体验的利器。以下是ShareX v16.1.0便携版的主要功能和特色&#x…

NeRF从入门到放弃4: NeuRAD-针对自动驾驶场景的优化

NeuRAD: Neural Rendering for Autonomous Driving 非常值得学习的一篇文章&#xff0c;几乎把自动驾驶场景下所有的优化都加上了&#xff0c;并且也开源了。 和Unisim做了对比&#xff0c;指出Unisim使用lidar指导采样的问题是lidar的垂直FOV有限&#xff0c;高处的东西打不…

Vue: Module “vue“ has no exported member xxx

这个问题让我困扰了好一会儿&#xff0c;我询问了 chatgpt 和各种网站社区&#xff0c;尝试了切换依赖的版本&#xff0c;清除缓存等等&#xff0c;依然没有解决 不过算是有心栽花花不开&#xff0c;无心插柳柳成荫&#xff0c;碰巧解决了&#xff0c;也不知道是不是这个原因&a…

java收徒 java辅导 java试用期辅导 java零基础学习

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末报名辅导&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还有大家…

WinMerge v2 (开源的文件比较/合并工具)

前言 WinMerge 是一款运行于Windows系统下的免费开源的文件比较/合并工具&#xff0c;使用它可以非常方便地比较多个文档内容甚至是文件夹与文件夹之间的文件差异。适合程序员或者经常需要撰写文稿的朋友使用。 一、下载地址 下载链接&#xff1a;http://dygod/source 点击搜…

微信小程序-伪类选择器

一.伪类选择器 结构伪类常见书写方式&#xff1a; 第一类&#xff1a;找第几个孩子 1. :first-child 找第一个孩子2. :last-child 找最后一个孩子3. :nth-child()&#xff0c;正着找数字&#xff1a;写数字几就是找第几个孩子&#xff0c;2n或者even:找偶数2n1或者o…