ICPC网络赛第一场 挨打实录

L KaChang!

这题很简单,看懂就能做。

找出y的几倍能大于等于所给的所有数,同时倍数必须大于等于2;

因此,我们直接找出这组数中最大的一个,对y做除法并向上取整就好了。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
signed main()
{
	int n,y;
	cin>>n>>y;
	int maxn=-1;
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		maxn=max(maxn,x);
	}
	int d=maxn/y;
	if(maxn%y) d++;
	cout<<max(d,2);
	
    return 0;
}

A 预选赛排名规则

做题重点在于理解题意。我们做的时候看不懂题目,根据样例反推的。

我一开始以为每次只要能就必须要输出一组的string,后来根据样例反推发现,如果这一组的string刚好输出过了,那么直接输出另一组的string就好了。

"使用合并排序方法合并大学的两个排名。对于任何两所大学在不同比赛中获得相同排名的,在第一场比赛中获得此排名的大学将排名第一。"

也就是按排名排序,第一组中排第一的第一个输出,第二组排第一的下一个输出,

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
map<string,int> mp1,mp2,mp3;
vector<string> v1,v2;
signed main()
{
	int m,n;
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	{
		string x;
		cin>>x;
		if(!mp1[x]) 
		{
			v1.push_back(x);
			mp1[x]=1;
		}
	}
	for(int i=1;i<=n;i++)
	{
		string x;
		cin>>x;
		if(!mp2[x]) 
		{
			v2.push_back(x);
			mp2[x]=1;
		}
	}
	
	int len=0;
	for(;len<min(v1.size(),v2.size());len++)
	{
		if(!mp3[v1[len]])
		{
			mp3[v1[len]]=1;
			cout<<v1[len]<<endl;
		}
		if(!mp3[v2[len]])
		{
			mp3[v2[len]]=1;
			cout<<v2[len]<<endl;
		}
	}
	if(len<v1.size())
	{
		for(;len<v1.size();len++)
		{
			if(!mp3[v1[len]])
			{
				cout<<v1[len]<<endl;
			}
		}
	}
	if(len<v2.size())
	{
		for(;len<v2.size();len++)
		{
			if(!mp3[v2[len]])
			{
				cout<<v2[len]<<endl;
			}
		}
	}
	
    return 0;
}

D Transitivity

更新中......

相关推荐
致Great4 小时前
DeepSeek Harness插件开发实战教程:我让它自己写了一个 arXiv 搜索插件
算法
罗西的思考8 小时前
【Agent OS / AIOS】AOHP 深度解读:当 OS 开始为 Agent 而设计
人工智能·算法·机器学习
民乐团扒谱机9 小时前
【微实验】组合优化matlab实战(马科维茨投资模型):在收益与风险之间,寻找最优的人生配比
大数据·人工智能·算法·机器学习·数学建模·matlab·组合优化
Nil20810 小时前
leetcode 160相交链表
算法·leetcode·链表
迷途之人不知返11 小时前
算法系列2:滑动窗口
算法
Herbert_hwt11 小时前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
Tisfy12 小时前
LeetCode 3090.每个字符最多出现两次的最长子字符串:二重循环 / 滑动窗口
算法·leetcode·字符串·题解·模拟·双指针·滑动窗口
-dzk-12 小时前
【技巧】LC 136.只出现一次的数字
算法·异或
有点。13 小时前
C++二叉树二(练习题)
数据结构·c++·算法·图论
专注仿真13 小时前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法