KAJIMA CORPORATION CONTEST 2024(AtCoder Beginner Contest 340)ABCDEF 视频讲解

这场比较郁闷,C题短路,连续4次WA,导致罚时太多

A - Arithmetic Progression

Problem Statement

Print an arithmetic sequence with first term A A A, last term B B B, and common difference D D D.
You are only given inputs for which such an arithmetic sequence exists.

Constraints

1 ≤ A ≤ B ≤ 100 1 \leq A \leq B \leq 100 1AB100
1 ≤ D ≤ 100 1 \leq D \leq 100 1D100
There is an arithmetic sequence with first term A A A, last term B B B, and common difference D D D.
All input values are integers.

Input

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

A A A B B B D D D

Output

Print the terms of the arithmetic sequence with first term A A A, last term B B B, and common difference D D D, in order, separated by spaces.

Sample Input 1

3 9 2

Sample Output 1

3 5 7 9

The arithmetic sequence with first term 3 3 3, last term 9 9 9, and common difference 2 2 2 is ( 3 , 5 , 7 , 9 ) (3,5,7,9) (3,5,7,9).

Sample Input 2

10 10 1

Sample Output 2

10

The arithmetic sequence with first term 10 10 10, last term 10 10 10, and common difference 1 1 1 is ( 10 ) (10) (10).

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#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 A, B, C;

	cin >> A >> B >> C;

	for (int i = A; i <= B; i += C)
		cout << i << " ";

	return 0;
}

B - Append

Problem Statement

You have an empty sequence A A A. There are Q Q Q queries given, and you need to process them in the order they are given.

The queries are of the following two types:
1 x: Append x x x to the end of A A A.
2 k: Find the k k k-th value from the end of A A A. It is guaranteed that the length of A A A is at least k k k when this query is given.

Constraints

1 ≤ Q ≤ 100 1 \leq Q \leq 100 1Q100
In the first type of query, x x x is an integer satisfying 1 ≤ x ≤ 1 0 9 1 \leq x \leq 10^9 1x109.
In the second type of query, k k k is a positive integer not greater than the current length of sequence A A A.

Input

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

Q Q Q
q u e r y 1 \mathrm{query}_1 query1
q u e r y 2 \mathrm{query}_2 query2
⋮ \vdots
q u e r y Q \mathrm{query}_Q queryQ

Each query is in one of the following two formats:

1 1 1 x x x

2 2 2 k k k

Output

Print q q q lines, where q q q is the number of queries of the second type.

The i i i-th line should contain the answer to the i i i-th such query.

Sample Input 1

5
1 20
1 30
2 1
1 40
2 3

Sample Output 1

30
20

Initially, A A A is empty.
The first query appends 20 20 20 to the end of A A A, making A = ( 20 ) A=(20) A=(20).
The second query appends 30 30 30 to the end of A A A, making A = ( 20 , 30 ) A=(20,30) A=(20,30).
The answer to the third query is 30 30 30, which is the 1 1 1-st value from the end of A = ( 20 , 30 ) A=(20,30) A=(20,30).
The fourth query appends 40 40 40 to the end of A A A, making A = ( 20 , 30 , 40 ) A=(20,30,40) A=(20,30,40).
The answer to the fifth query is 20 20 20, which is the 3 3 3-rd value from the end of A = ( 20 , 30 , 40 ) A=(20,30,40) A=(20,30,40).

Solution

具体见文末视频。

Code

#include <bits/stdc++.h>
#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 Q;

	cin >> Q;

	std::vector<int> S;
	while (Q --)
	{
		int Op, X;

		cin >> Op >> X;

		if (Op == 1)
			S.push_back(X);
		else
			cout << S[S.size() - X] << endl;
	}

	return 0;
}

C - Divide and Divide

Problem Statement

There is a single integer N N N written on a blackboard.

Takahashi will repeat the following series of operations until all integers not less than 2 2 2 are removed from the blackboard:
Choose one integer x x x not less than 2 2 2 written on the blackboard.
Erase one occurrence of x x x from the blackboard. Then, write two new integers ⌊ x 2 ⌋ \left \lfloor \dfrac{x}{2} \right\rfloor 2x and ⌈ x 2 ⌉ \left\lceil \dfrac{x}{2} \right\rceil 2x on the blackboard.
Takahashi must pay x x x yen to perform this series of operations.
Here, ⌊ a ⌋ \lfloor a \rfloor a denotes the largest integer not greater than a a a, and ⌈ a ⌉ \lceil a \rceil a denotes the smallest integer not less than a a a.
What is the total amount of money Takahashi will have paid when no more operations can be performed?

It can be proved that the total amount he will pay is constant regardless of the order in which the operations are performed.

Constraints

2 ≤ N ≤ 1 0 17 2 \leq N \leq 10^{17} 2N1017

Input

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

N N N

Output

Print the total amount of money Takahashi will have paid, in yen.

Sample Input 1

3

Sample Output 1

5

Here is an example of how Takahashi performs the operations:
Initially, there is one 3 3 3 written on the blackboard.
He chooses 3 3 3. He pays 3 3 3 yen, erases one 3 3 3 from the blackboard, and writes ⌊ 3 2 ⌋ = 1 \left \lfloor \dfrac{3}{2} \right\rfloor = 1 23=1 and ⌈ 3 2 ⌉ = 2 \left\lceil \dfrac{3}{2} \right\rceil = 2 23=2 on the blackboard.
There is one 2 2 2 and one 1 1 1 written on the blackboard.
He chooses 2 2 2. He pays 2 2 2 yen, erases one 2 2 2 from the blackboard, and writes ⌊ 2 2 ⌋ = 1 \left \lfloor \dfrac{2}{2} \right\rfloor = 1 22=1 and ⌈ 2 2 ⌉ = 1 \left\lceil \dfrac{2}{2} \right\rceil = 1 22=1 on the blackboard.
There are three 1 1 1s written on the blackboard.
Since all integers not less than 2 2 2 have been removed from the blackboard, the process is finished.
Takahashi has paid a total of 3 + 2 = 5 3 + 2 = 5 3+2=5 yen for the entire process, so print 5 5 5.

Sample Input 2

340

Sample Output 2

2888

Sample Input 3

100000000000000000

Sample Output 3

5655884811924144128

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>

using namespace std;

inline __int128 read()
{
	char ch = getchar();
	__int128 x = 0, cf = 1;
	while(ch < '0' || ch > '9') {
		if(ch == '-') cf = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		x = (x << 3) + (x << 1) + (ch ^ 48);
		ch = getchar();
	}
	
	return x * cf;
}

void write(__int128 x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}

__int128 Quick_Pow(__int128 a, __int128 b)
{
	__int128 Result = 1;
	while (b)
	{
		if (b & 1) Result = Result * a;
		a = a * a;
		b >>= 1;
	}

	return Result;
}

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

	__int128 N = read();

	__int128 T = 0, T2 = 0;
	while (Quick_Pow(2, T + 1) <= 4 * N) T ++;
	while (Quick_Pow(2, T2 + 1) <= 2 * N) T2 ++;
	__int128 Result = N * T - Quick_Pow(2, T2);

	write(Result);

	return 0;
}

D - Super Takahashi Bros.

Problem Statement

Takahashi is playing a game.
The game consists of N N N stages numbered 1 , 2 , … , N 1,2,\ldots,N 1,2,,N. Initially, only stage 1 1 1 can be played.
For each stage i i i ( 1 ≤ i ≤ N − 1 1\leq i \leq N-1 1iN1 ) that can be played, you can perform one of the following two actions at stage i i i:
Spend A i A_i Ai seconds to clear stage i i i. This allows you to play stage i + 1 i+1 i+1.
Spend B i B_i Bi seconds to clear stage i i i. This allows you to play stage X i X_i Xi.
Ignoring the times other than the time spent to clear the stages, how many seconds will it take at the minimum to be able to play stage N N N?

Constraints

2 ≤ N ≤ 2 × 1 0 5 2 \leq N \leq 2\times 10^5 2N2×105
1 ≤ A i , B i ≤ 1 0 9 1 \leq A_i, B_i \leq 10^9 1Ai,Bi109
1 ≤ X i ≤ N 1 \leq X_i \leq N 1XiN
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 B 1 B_1 B1 X 1 X_1 X1
A 2 A_2 A2 B 2 B_2 B2 X 2 X_2 X2
⋮ \vdots
A N − 1 A_{N-1} AN1 B N − 1 B_{N-1} BN1 X N − 1 X_{N-1} XN1

Output

Print the answer.

Sample Input 1

5
100 200 3
50 10 1
100 200 5
150 1 2

Sample Output 1

350

By acting as follows, you will be allowed to play stage 5 5 5 in 350 350 350 seconds.
Spend 100 100 100 seconds to clear stage 1 1 1, which allows you to play stage 2 2 2.
Spend 50 50 50 seconds to clear stage 2 2 2, which allows you to play stage 3 3 3.
Spend 200 200 200 seconds to clear stage 3 3 3, which allows you to play stage 5 5 5.

Sample Input 2

10
1000 10 9
1000 10 10
1000 10 2
1000 10 3
1000 10 4
1000 10 5
1000 10 6
1000 10 7
1000 10 8

Sample Output 2

90

Sample Input 3

6
1000000000 1000000000 1
1000000000 1000000000 1
1000000000 1000000000 1
1000000000 1000000000 1
1000000000 1000000000 1

Sample Output 3

5000000000

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define int long long

using namespace std;

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

const int SIZE = 8e5 + 10;

int N;
int A[SIZE], B[SIZE], X[SIZE];
int h[SIZE], w[SIZE], e[SIZE], ne[SIZE], idx;
bool st[SIZE];
int dist[SIZE];

inline void add(int a, int b, int c)
{
    e[idx] = b, ne[idx] = h[a], w[idx] = c, h[a] = idx ++;
}

inline int Dijkstra(int start, int finish)
{
    memset(dist, 0x3f, sizeof dist);
    priority_queue<PII, vector<PII>, greater<PII>> heap;

    heap.push({0, start});
    st[start] = 1;

    while (heap.size())
    {
        auto t = heap.top();
        heap.pop();

        int u = t.second, dis = t.first;

        for (int i = h[u]; ~i; i = ne[i])
            if (dist[e[i]] > w[i] + dis)
                dist[e[i]] = w[i] + dis, heap.push({dist[e[i]], e[i]});
    }

    if (dist[finish] == 0x3f3f3f3f) return -1;
    return dist[finish];
}

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

	memset(h, -1, sizeof h);

	cin >> N;

	for (int i = 1; i < N; i ++)
	{
		cin >> A[i] >> B[i] >> X[i];
		add(i, i + 1, A[i]), add(i, X[i], B[i]);
	}

	cout << Dijkstra(1, N) << endl;

	return 0;
}

E - Mancala 2

Problem Statement

There are N N N boxes numbered 0 0 0 to N − 1 N-1 N1. Initially, box i i i contains A i A_i Ai balls.
Takahashi will perform the following operations for i = 1 , 2 , … , M i=1,2,\ldots,M i=1,2,,M in order:
Set a variable C C C to 0 0 0.
Take out all the balls from box B i B_i Bi and hold them in hand.
While holding at least one ball in hand, repeat the following process:
Increase the value of C C C by 1 1 1.
Put one ball from hand into box ( B i + C )   m o d   N (B_i+C) \bmod N (Bi+C)modN.
Determine the number of balls in each box after completing all operations.

Constraints

1 ≤ N ≤ 2 × 1 0 5 1 \leq N \leq 2\times 10^5 1N2×105
1 ≤ M ≤ 2 × 1 0 5 1 \leq M \leq 2\times 10^5 1M2×105
0 ≤ A i ≤ 1 0 9 0 \leq A_i \leq 10^9 0Ai109
KaTeX parse error: Expected 'EOF', got '&' at position 12: 0 \leq B_i &̲lt; N
All input values are integers.

Input

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

N N N M M M
A 0 A_0 A0 A 1 A_1 A1 … \ldots A N − 1 A_{N-1} AN1
B 1 B_1 B1 B 2 B_2 B2 … \ldots B M B_M BM

Output

Let X i X_i Xi be the number of balls in box i i i after completing all operations. Print X 0 , X 1 , … , X N − 1 X_0,X_1,\ldots,X_{N-1} X0,X1,,XN1 in this order, separated by spaces.

Sample Input 1

5 3
1 2 3 4 5
2 4 0

Sample Output 1

0 4 2 7 2

The operations proceed as follows:
Figure

Sample Input 2

3 10
1000000000 1000000000 1000000000
0 1 0 1 0 1 0 1 0 1

Sample Output 2

104320141 45436840 2850243019

Sample Input 3

1 4
1
0 0 0 0

Sample Output 3

1

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define int long long

using namespace std;

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

const int SIZE = 2e5 + 10;

int N, M;
int A[SIZE], B[SIZE];
struct Segment
{
	struct Node
	{
		int l, r;
		LL Sum, Max, Min, Lazy;
	}Tree[SIZE << 2];
	void Pushup(int u)
	{
		Tree[u].Sum = Tree[u << 1].Sum + Tree[u << 1 | 1].Sum;
		Tree[u].Max = max(Tree[u << 1].Max, Tree[u << 1 | 1].Max);
		Tree[u].Min = min(Tree[u << 1].Min, Tree[u << 1 | 1].Min);
	}
	void Pushdown(int u)
	{
		if (Tree[u].Lazy)
		{
			Tree[u << 1].Max += Tree[u].Lazy;
			Tree[u << 1].Min += Tree[u].Lazy;
			Tree[u << 1].Sum += (LL)(Tree[u << 1].r - Tree[u << 1].l + 1) * Tree[u].Lazy;
			Tree[u << 1].Lazy += Tree[u].Lazy;
			Tree[u << 1 | 1].Max += Tree[u].Lazy;
			Tree[u << 1 | 1].Min += Tree[u].Lazy;
			Tree[u << 1 | 1].Sum += (LL)(Tree[u << 1 | 1].r - Tree[u << 1 | 1].l + 1) * Tree[u].Lazy;
			Tree[u << 1 | 1].Lazy += Tree[u].Lazy;
			Tree[u].Lazy = 0;
		}
	}
	void Build(int u, int l, int r)
	{
		Tree[u] = {l, r};
		if (l == r) return;
		int mid = l + r >> 1;
		Build(u << 1, l, mid), Build(u << 1 | 1, mid + 1, r);
	}
	void Modify(int u, int l, int r, int d)
	{
		if (Tree[u].l >= l && Tree[u].r <= r)
		{
			Tree[u].Sum += (LL)(Tree[u].r - Tree[u].l + 1) * d;
			Tree[u].Max += d, Tree[u].Min += d;
			Tree[u].Lazy += d;
			return;
		}

		Pushdown(u);
		int mid = Tree[u].l + Tree[u].r >> 1;
		if (mid >= l) Modify(u << 1, l, r, d);
		if (mid < r) Modify(u << 1 | 1, l, r, d);
		Pushup(u);
	}
	int Query(int u, int l, int r, int k)
	{
		if (Tree[u].l >= l && Tree[u].r <= r)
		{
			if (k == 1) return Tree[u].Sum;
			else if (k == 2) return Tree[u].Max;
			else return Tree[u].Min;
		}

		Pushdown(u);
		long long mid = Tree[u].l + Tree[u].r >> 1, Result;
		if (k == 1) Result = 0;
		else if (k == 2) Result = -1e18;
		else Result = 1e18;
		if (mid >= l) Result = Query(u << 1, l, r, k);
		if (mid < r)
		{
			if (k == 1) Result += Query(u << 1 | 1, l, r, k);
			else if (k == 2) Result = max(Result, Query(u << 1 | 1, l, r, k));
			else Result = min(Result, Query(u << 1 | 1, l, r, k));
		}

		return Result;
	}
	int Sum(int l, int r) { return Query(1, l, r, 1); }
	int Max(int l, int r) { return Query(1, l, r, 2); }
	int Min(int l, int r) { return Query(1, l, r, 3); }
}Tool;

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

	cin >> N >> M;

	Tool.Build(1, 1, N);
	for (int i = 1; i <= N; i ++)
		cin >> A[i], Tool.Modify(1, i, i, A[i]);
	for (int i = 1; i <= M; i ++)
		cin >> B[i], B[i] ++;

	for (int i = 1; i <= M; i ++)
	{
		int X = Tool.Sum(B[i], B[i]), Turn = X / N, Rest = X % N;
		Tool.Modify(1, 1, N, Turn);
		if (Rest && B[i] + Rest > N)
		{
			if (B[i] + 1 <= N) Tool.Modify(1, B[i] + 1, N, 1);
			Tool.Modify(1, 1, Rest - N + B[i], 1);
		}
		else if (Rest) Tool.Modify(1, B[i] + 1, B[i] + Rest, 1);
		Tool.Modify(1, B[i], B[i], -X);
	}

	for (int i = 1; i <= N; i ++)
		cout << Tool.Sum(i, i) << " ";

	return 0;
}

F - S = 1

Problem Statement

You are given integers X X X and Y Y Y, which satisfy at least one of X ≠ 0 X \neq 0 X=0 and Y ≠ 0 Y \neq 0 Y=0.

Find a pair of integers ( A , B ) (A, B) (A,B) that satisfies all of the following conditions. If no such pair exists, report so.
− 1 0 18 ≤ A , B ≤ 1 0 18 -10^{18} \leq A, B \leq 10^{18} 1018A,B1018
The area of the triangle with vertices at points ( 0 , 0 ) , ( X , Y ) , ( A , B ) (0, 0), (X, Y), (A, B) (0,0),(X,Y),(A,B) on the x y xy xy-plane is 1 1 1.

Constraints

− 1 0 17 ≤ X , Y ≤ 1 0 17 -10^{17} \leq X, Y \leq 10^{17} 1017X,Y1017
( X , Y ) ≠ ( 0 , 0 ) (X, Y) \neq (0, 0) (X,Y)=(0,0)
X X X and Y Y Y are integers.

Input

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

X X X Y Y Y

Output

If there is a pair of integers ( A , B ) (A, B) (A,B) that satisfies the conditions, print it in the following format:

A A A B B B

Otherwise, print -1.

Sample Input 1

3 5

Sample Output 1

1 1

The area of the triangle with vertices at points ( 0 , 0 ) , ( 3 , 5 ) , ( 1 , 1 ) (0, 0), (3, 5), (1, 1) (0,0),(3,5),(1,1) is 1 1 1. Thus, ( A , B ) = ( 1 , 1 ) (A, B) = (1, 1) (A,B)=(1,1) satisfies the conditions.

Sample Input 2

-2 0

Sample Output 2

0 1

Sample Input 3

8752654402832944 -6857065241301125

Sample Output 3

-1

Solution

具体见文末视频。


Code

#include <bits/stdc++.h>
#define int long long

using namespace std;

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

int Exgcd(int a, int b, int &x, int &y)
{
    if (!b)
    {
        x = 1, y = 0;
        return a;
    }

    int d = Exgcd(b, a % b, y, x);
    y -= a / b * x;
    return d;
}

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

	int X, Y;

	cin >> X >> Y;

	if (((2 % __gcd(X, Y) + abs(__gcd(X, Y))) % __gcd(X, Y)) != 0)
		cout << -1 << endl;
	else
	{
		int A, B;
		int d = Exgcd(Y, X, A, B);
		cout << A * (2 / abs(d)) << " " << (-B) * (2 / abs(d)) << endl;
	}

	return 0;
}

G - Leaf Color

G题还没研究,等后面研究下。

视频题解

Atcoder Beginner Contest 340(A ~ F)


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

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

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

相关文章

蓝桥杯官网练习题(翻转)

问题描述 小蓝用黑白棋的 n 个棋子排成了一行&#xff0c;他在脑海里想象出了一个长度为 n 的 01 串 T&#xff0c;他发现如果把黑棋当做 1&#xff0c;白棋当做 0&#xff0c;这一行棋子也是一个长度为 n 的 01 串 S。 小蓝决定&#xff0c;如果在 S 中发现一个棋子…

英伟达进军定制芯片领域,有望“再造一个Arm”?

隔夜美股AI总龙头英伟达收高3.58%&#xff0c;再创历史新高。该股本周上涨逾9%&#xff0c;今年迄今上涨45.7%。总市值站上1.78万亿美元&#xff0c;逼近亚马逊与谷歌。 消息面上&#xff0c;据媒体报道&#xff0c;据至少九位知情人士透露&#xff0c;英伟达正在建立一个新的业…

微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 目录 前言 通过代码实现限流 定义资源 通过代码定义资源 通过注解方式定义资源 定义限流规则 通过…

4核8g服务器能访问多少人?2024年测评

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

Zabbix6.x配置中文界面 解决乱码问题

Zabbix6.x配置中文界面 解决乱码问题 Zabbix6.x界面无法选择中文&#xff0c;通过安装语言包解决。后面也解决了zabbix6中文方块&#xff08;乱码&#xff09;问题。 配置中文语言包 系统中默认没有携带中文语言包&#xff0c;可以通过以下命令查看 localectl list-locales #…

编曲学习:旋律创作基础概念 和弦进行作曲 和弦外音使用 作曲技巧

旋律创作基础概念 和弦进行作曲 和弦外音使用 作曲技巧https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65be1ba7e4b064a83b92a3d7?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv文档https://app8epdhy0u9502.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp_pro/cour…

奇异值分解(SVD)的应用——图像压缩

SVD方法是模型降阶的一类重要方法&#xff0c;本征正交分解&#xff08;POD&#xff09;和平衡截断&#xff08;BT&#xff09;都属于SVD类方法。 要想深入了解模型降阶技术&#xff0c;我们可以先从SVD的应用入手&#xff0c;做一个直观的了解。 1. SVD的定义和分类 我们想寻找…

nginx添加lua模块

目录 已安装了nginx&#xff0c;后追加lua模块nginx 重新编译知识参考&#xff1a; 从零安装一、首先需要安装必要的库&#xff08;pcre、zlib、openssl&#xff09;二、安装LUA环境及相关库 &#xff08;LuaJIT、ngx_devel_kit、lua-nginx-module&#xff09;注意&#xff1a;…

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

随着云原生、人工智能逐渐成为各行各业的创新生产力工具。可以预见&#xff0c;我们即将进入全新的智能化时代。随着数据成为新型生产要素&#xff0c;云和 AI 正走向深度融合。云原生通过提供大规模多元算力的高效供给&#xff0c;可观测成为业务创新的核心基础设施&#xff0…

Android---Jetpack Compose学习002

Compose 布局。Compose 布局的目标&#xff1a;1&#xff09;实现高性能&#xff1b;2&#xff09;让开发者能够轻松编写自定义布局&#xff1b;3&#xff09;在 Compose 中&#xff0c;通过避免多次测量布局子级可实现高性能。如果需要进行多次测量&#xff0c;Compose 具有一…

数字孪生:构建未来智慧社区的关键技术

随着科技的快速发展&#xff0c;数字孪生技术作为构建未来智慧社区的关键技术&#xff0c;正逐渐受到广泛关注。数字孪生技术能够实现物理世界与数字世界的交互映射&#xff0c;为智慧社区的建设提供强有力的支持。本文将探讨数字孪生技术在构建未来智慧社区中的作用和意义&…

JavaIO读取C101.txt文件

一、split分割带空格的字符串&#xff08;四种方法及其区别&#xff09; 参考&#xff1a;https://blog.csdn.net/yezonghui/article/details/106455940 String str "a b c d";String[] arr1 str.split(" "); //仅分割一个空格 String[] arr2 str…

yo!这里是Linux线程保姆级入门介绍

目录 前言 Linux线程基础 线程概念 底层示意图 线程vs进程 Linux线程控制 创建线程 线程ID 线程终止 线程等待 线程分离 Linux线程互斥 背景概念 互斥量mutex 1.相关接口 2.实现原理 可重入vs线程安全 死锁 Linux线程同步 条件变量 生产者消费者模型 基于…

MySQL-索引(INDEX)

文章目录 1. 索引概述及优劣势2. 索引结构和不同引擎对索引的支持情况2.1 Btree2.2 Hash索引 3. 索引分类4. 索引语法5. 索引在什么情况下会失效&#xff1f;5.1 最左前缀法则5.2 范围查询5.3 索引列运算5.4 头部模糊查询5.5 OR连接条件5.6 字符串不加引号5.7 数据分布影响 6. …

【开源】SpringBoot框架开发考研专业课程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…

跳表详解和实现|深挖Redis底层数据结构

文章目录 跳表前言项目代码仓库认识跳表跳表的实现思路跳表性能分析对比平衡树&#xff08;avl和红黑树&#xff09;和哈希表使用手册成员变量成员函数构造析构迭代器sizeclearemptyoperatorfindinserterase 跳表细节实现节点定义跳表结构定义构造、析构、拷贝构造和赋值重载si…

hummingbird,一个便于将模型部署到边缘设备的Python库!

前言 随着人工智能和机器学习的快速发展&#xff0c;将训练好的模型部署到生产环境中成为了一个重要的任务。而边缘计算设备&#xff0c;如智能手机、嵌入式系统和物联网设备&#xff0c;也需要能够运行机器学习模型以进行实时推理。Python Hummingbird 是一个强大的工具&…

Linux Terminator工具: 保存窗口布局 执行默认启动指令

How do I get Terminator to start up with my custom layout? - Ask Ubuntu

新春快乐(烟花、春联)【附源码】

新春快乐 一&#xff1a; C语言 -- 烟花二&#xff1a;Python -- 春联三&#xff1a;Python -- 烟花四&#xff1a;HTML -- 烟花 一&#xff1a; C语言 – 烟花 运行效果&#xff1a; #include <graphics.h> #include <math.h> #include <time.h> #include…

JSP原理简述

JSP动态网页技术&#xff0c;可以定义html&#xff0c;css&#xff0c;js等静态内容&#xff0c;还可以定义java代码等动态内容。 注意导入坐标时&#xff0c;JSP的scope标签是provided&#xff0c;和servlet一样&#xff0c;否则会报错。 JSP本质上就是一个Servlet&#xff0c…