2024牛客暑期多校训练营1

Sum of Suffix Sums

Given an array which is initially empty, you need to perform q operations:

Given two non-negative integers t and v, take out the element from the end of the array for t times and then append v to the end of the array. It is guaranteed that t does not exceed the length of the array before this operation

After each operation, let a1,a2,...,an​ be the current array, find the sum of s1,s2,...,snwhere si=ai+ai+1+...+an is the sum of the suffix starting from position iii.

World Finals

The ICPC World Finals are coming. Due to some reasons, the 46th and 47th World Finals will be held simultaneously. For the teams qualified in both competitions, they should choose one to take part in.

The first line contains one integer n (1≤n≤105), denoting the number of teams qualified in the 46th World Finals.

Next n lines each contain one string S (1≤∣S∣≤10) and two integers p,t (1≤p,t≤109)p,,denoting the name, the predicted number of solved problems, and time penalty of one team in the 46th World Finals respectively.

Next one line contains one integer m (1≤m≤105), denoting the number of teams qualified in the 47th World Finals.

Next m lines each contain one string S (1≤∣S∣≤10)Sand two integers p,t (1≤p,t≤109), denoting the name, the predicted number of solved problems, and time penalty of one team in the 47th World Finals respectively.

Output one line containing one integer, denoting the best possible ranking of lzr010506's team.

the competition choices of the double-qualified teams can be arbitrarily arranged by him.

复制代码
#include<bits/stdc++.h>

using namespace std;

#define int long long

struct node{
	string name;
	int s;
	int t;
};

bool cmp(node a, node b){
	if(a.s > b.s)
		return true;
	else if(a.s == b.s)
		return a.t < b.t;
	return false;
}

void solve(){
	vector<node> q1;
	vector<node> q2;
	unordered_map<string, int> st1;
	unordered_map<string, int> st2;
	int n, m;
	cin >> n;
	for(int i = 0; i < n; i ++){
		string a;
		int s, t;
		cin >> a >> s >> t;
		q1.push_back({a, s, t});
		if(!st1.count(a))
			st1[a] = 1;
	}
	cin >> m;
	for(int i = 0; i < m; i ++){
		string a;
		int b, c;
		cin >> a >> b >> c;
		q2.push_back({a, b, c});
		if(!st2.count(a))
			st2[a] = 1;
	}
	sort(q1.begin(), q1.end(), cmp);
	sort(q2.begin(), q2.end(), cmp);
	int cnt1 = 0;
	for(int i = 0; i < n; i ++){
		if(q1[i].name == "lzr010506"){
			cnt1 ++;
			break;
		}
		if(!st2.count(q1[i].name))
			cnt1 ++;
	}
	int cnt2 = 0;
	for(int i = 0; i < m; i ++){
		if(q2[i].name == "lzr010506"){
			cnt2 ++;
			break;
		}
		if(!st1.count(q2[i].name))
			cnt2 ++;
	}

	cout << min(cnt1, cnt2);
	
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    solve();
    return 0;
}

A Bit Common

Given two integers n and m, among all the sequences containing n non-negative integers less than 2^m, you need to count the number of such sequences A that there exists a non-empty subsequence of A in which the bitwise AND of the integers is 1

Note that a non-empty subsequence of a sequenceA is a non-empty sequence that can be obtained by deleting zero or more elements from AAA and arranging the remaining elements in their original order.

Since the answer may be very large, output it modulo a positive integer q.

The bitwise AND of non-negative integers AAA and BBB, A AND BA\ \texttt{AND}\ BA AND B is defined as follows:

GCD VS XOR

Red Walking on Grid

Red is on a 2⋅n, with some cells being red and others being white.

Red can initially choose a red cell, and at each step, can choose a red cell above, below, to the left, or to the right. When Red leaves a cell, the cell immediately turns white.

Red wants to know the maximum number of steps she can take.

If there are no initial red cells, please output 0.

相关推荐
hetao173383741 分钟前
2026-08-09~08-14 hetao1733837 的刷题记录
c++·算法
技术小黑43 分钟前
RNN算法实战系列06 | LSTM 实现糖尿病探索与预测
rnn·算法·lstm
疯狂打码的少年1 小时前
【数据结构】二叉树的性质(五大性质+计算)
数据结构·笔记·算法
wabs6662 小时前
关于图论【A*算法 | 卡码网127.骑士的攻击的思考】
数据结构·算法·图论·卡码网·广搜的改进版
CIO_Alliance2 小时前
AI认知系列(3)| 数据、算法、算力、场景四要素协同
人工智能·算法·ipaas·系统集成·企业cio联盟·企业级ai化转型
..Dauntless..3 小时前
手写vector vs std::vector:从功能正确到性能达标
算法
m0_547486663 小时前
《数据结构与算法》全套PPT课件2026(中国海洋大学)
数据结构·算法
旖旎夜光4 小时前
LeetCode 904:水果成篮(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
怪奇云呼军4 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频