Codeforces Round 911 (Div. 2)

2023 11 27

A. Cover in Water

题意是:有一片坑,可以进行两个操作,一个是在一个坑里倒水,一个是把水到在另一个坑里,如果一个坑的左右两边都有水,那么这个坑也会有水

思路:想想发现,只要有三个连续的坑,那么所有的坑都可以被填上,如果没有就只能一个一个的填。

using namespace std;
void solve(){
	int n;
	string s;
	cin>>n>>s;
    int ans=0;
    int cnt=0;
	for(int i=0;i<n;i++){
		if(s[i]=='.'){
			cnt++;
		}
		if(s[i]=='#'){
			if(cnt>2){
				cout<<2<<"\n";
				return;
			}else{
				ans+=cnt;
				cnt=0;
			}
		}
	}
	if(cnt>2){
		cout<<2<<"\n";
	}else{
		ans+=cnt;
		cout<<ans<<"\n";
	}
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

B. Laura and Operations

题意是:给你数字1,2,3的数量,你可以选择两个数删去,然后给另一个数加上,分别问你最后是否能只剩1,2,3

思路:拿1来说,如果abs(b-c)是偶数就行,因为不会剩余

using namespace std;
void solve(){
	int a,b,c;
	cin>>a>>b>>c;
	int x,y;
	x=abs(b-c);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	x=abs(a-c);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	x=abs(a-b);
	if(x%2!=0){
		cout<<0<<" ";
	}else{
		cout<<1<<" ";
	}
	cout<<"\n";
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

C. Anji's Binary Tree

题意:人从二叉树的根开始从,要走到叶子节点,你可以的操作是换到树上代表你下一步的字符,问你能走到叶子节点所需要的最小操作。

image

树形dp 每一次的最小操作都记录下来

#include<bits/stdc++.h>
using namespace std;
const int N=3e5+10;
int l[N],r[N];
string s;
int dfs(int x){
	if(l[x]==0&&r[x]==0)return 0;
	int mi=1e18;
	if(l[x]){
		int t=s[x]!='L';
		mi=min(mi,dfs(l[x])+t);
	}
	if(r[x]){
		int t=s[x]!='R';
		mi=min(mi,dfs(r[x])+t);
	}
	return mi;
}
void solve(){
	int n;
	cin>>n>>s;
	s=" "+s;
	for(int i=1;i<=n;i++){
		cin>>l[i]>>r[i];
	}
	int ans=dfs(1);
	cout<<ans<<"\n";
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

本文作者:yufan1102

本文链接:https://www.cnblogs.com/yufan1102/p/17859370.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   yufan1102  阅读(112)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.