ABC358

A

link

……

点击查看代码
#include<bits/stdc++.h>

using namespace std;

string s,t;

signed main(){
	
	cin >> s >> t;
	if(s == "AtCoder"&&t == "Land")
		cout << "Yes";
	else cout << "No";
	
	return 0;
	
} 

B

link

用一个变量存时间到哪了,枚举每一个人,如果开始时间不超过\(time\)\(time\)变为开始时间\(+A\),否则变为\(time+A\),用一个\(st\)数组存从哪个时间开始的。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int n,a;
int t[105];
int st[105],tim;

signed main(){
	
	cin >> n >> a;
	for(int i = 1;i <= n;++ i)
		cin >> t[i];
	
	for(int j = 1;j <= n;++ j){
		if(tim < t[j]) st[j] = t[j],tim = t[j]+a;
		else st[j] = tim,tim += a;
	}
	
	for(int i = 1;i <= n;++ i)
		cout << st[i]+a << endl;
	
	return 0;
	
}

C

link

\(DFS\)每一个位置访不访问,判断访问的所有区间是否覆盖了所有口味。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int n,m;
char s[15][15];
int fl[15];
int ans = 25;

void dfs(int x,int b){
	if(x > n){
		for(int i = 1;i <= m;++ i)
			if(fl[i] == 0) return;
		ans = min(ans,b);
		return;
	}
	dfs(x+1,b);
	for(int i = 1;i <= m;++ i)
		if(s[x][i] == 'o') fl[i]++;
	dfs(x+1,b+1);
	for(int i = 1;i <= m;++ i)
		if(s[x][i] == 'o') fl[i]--;
}

signed main(){
	
	cin >> n >> m;
	for(int i = 1;i <= n;++ i)
		cin >> s[i]+1;
	
	dfs(1,0);
	
	cout << ans;
	
	return 0;
	
}

D

link

考虑怎样把每一个\(b_i\)都匹配到合适的\(a_i\)
贪心。我们枚举\(a_i\),同时用一个指针(\(j\))指向\(b\),如果当前\(a_i\)大于\(b_i\),则选这个,否则再看下一个\(a_i\)
自行证明。我们如果不选这个,那么下一个的肯定大于这个,就不行。
最后还要判断一下可不可行。
如果\(a\)数列里大于等于这个数(\(b\))的个数小于\(b\)以后(包含这个)的个数,就不行。
怎么实现?遍历每一个\(b\)里的数,判断。

点击查看代码
#include<bits/stdc++.h>

#define int long long

using namespace std;

int n,m;
int a[200005],b[200005]; 

signed main(){
	
	cin >> n >> m;
	for(int i = 1;i <= n;++ i)
		cin >> a[i];
	for(int i = 1;i <= m;++ i)
		cin >> b[i];
	sort(a+1,a+1+n);sort(b+1,b+1+m);
	
	int ans = 0;
	for(int i = 1,j = 1;i <= m&&j <= n;++ j){
		if(b[i] < a[j]){
			ans += a[j];
			i++;
		}
	}
	
	for(int i = 1;i <= m;++ i){
		int t = lower_bound(a+1,a+1+n,b[i])-a;
		if(n-t+1 < m-i+1){
			cout << -1;
			return 0;
		}
	}
	
	if(ans) cout << ans;
	else cout << -1;
	
	return 0;
	
}
posted @ 2024-06-18 21:17  校牌杀手  阅读(6)  评论(0编辑  收藏  举报