Codeforces Global Round 15 ABD

Posted 尘封陌路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Global Round 15 ABD相关的知识,希望对你有一定的参考价值。

A. Subsequence Permutation

思路:
直接排序再统计相同的个数,答案是长度-相同的个数

#include<bits/stdc++.h>
using namespace std;
string s;
string c;
int ans;
int main()
{
	int t;
	cin>>t;
	int n;
	while(t--)
	{
		cin>>n;
		cin>>s;
		c=s;
		sort(c.begin(),c.end());
		int ans=0;
		for(int i=0;i<s.size();i++)
		{
			if(c[i]==s[i]) ans++;	
		}
	//	printf("ans==%d \\n",ans);
		cout<<n-ans<<endl;
	}
	return 0;
}

B. Running for Gold

思路:
1.假设第一个人是冠军,然后往下遍历和他比较,如果A比他强那么把A认为是暂时的冠军(因为冠军不能输,如果第一个人被比下去了,第一个人肯定不是冠军,所以前面的败者一定不可能是冠军)。
2.再遍历一遍,冠军要比所有人都强,如果没有比所有人都强,那么就没有冠军。

Code

#include<bits/stdc++.h>
using namespace std;
const int N=50000+10;
int a[N][10];
int t,n;
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=5;j++)
			{
				cin>>a[i][j];
			}
		}
		int id=1;
		for(int i=2;i<=n;i++)
		{
			int cnt=0;
			for(int j=1;j<=5;j++)
			{
				cnt+=(a[i][j]<a[id][j]);
			}
			if(cnt>=3) id=i;
		}
		int flag=1;
		for(int i=1;i<=n;i++)
		{
			int cnt=0;
			for(int j=1;j<=5;j++)
			{
				cnt+=(a[i][j]<a[id][j]);
			}
			if(cnt>=3)
			{
				flag=-1;
				break;
			}
		}
		if(flag==1)
		{
			cout<<id<<endl;
		}
		else
		{
			cout<<"-1"<<endl;
		}
	}
	return 0;
}

D. Array Differentiation

思路:
只要找到一个环形成回路即可,用暴力搜索。

Code

#include<bits/stdc++.h>
using namespace std;
const int N=20;
int a[N];
map<int,int> mp;
int t;
int n;
int flag;
void dfs(int cnt,int sum)
{
	if(cnt==n+1) 
	{
		mp[sum]++;
		return ;
	}

	dfs(cnt+1,sum);
	dfs(cnt+1,sum+a[cnt]);
}
int main()
{
	cin>>t;
	while(t--)
	{
		flag=-1;
		mp.clear();
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			cin>>a[i];
		}
		dfs(1,0);
		for(auto i:mp)
		{
			if(i.second>=2)
			{
				flag=1;
				break;
			}
		}
		if(flag==1)
		{
			cout<<"YES"<<endl; 
		}
		else
		{
			cout<<"NO"<<endl; 
		}
	}
	return 0;
}```

以上是关于Codeforces Global Round 15 ABD的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Global Round 1

Codeforces Global Round 1

Codeforces Global Round 1

Codeforces Global Round 1

Codeforces Global Round 19

Codeforces Global Round 1 AParity