首页 > 其他分享 >Codeforces Round 923 (Div. 3)

Codeforces Round 923 (Div. 3)

时间:2024-02-13 12:00:48浏览次数:21  
标签:std 923 int void namespace Codeforces using Div include

A. Make it White

#include<bits/stdc++.h>
using namespace std;
void solve(){
	int a,b,n;
	string s;
	cin>>n>>s;
	for(int i=0;i<n;i++){
		if(s[i]=='B'){
			a=i;
			break;
		}
	}
	for(int i=n-1;i>=0;i--){
		if(s[i]=='B'){
			b=i;
			break;
		}
	}
	cout<<b-a+1<<"\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. Following the String 暴力

image
image

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N];
void solve(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	map<char,int>mp;
	for(int i=1;i<=n;i++){
		int x=a[i];
		for(char j='a';j<='z';j++){
			if(mp[j]==x){
				cout<<j;
				mp[j]++;
				break;
			}
		}
	}
	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. Choose the Different Ones! 贪心+思维

image
image

#include<bits/stdc++.h>
using namespace std;
void solve(){
	int n,m,k;
	cin>>n>>m>>k;
	map<int,int>mp1;
	map<int,int>mp2;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		if(x<=k)mp1[x]++;
	}
	for(int i=1;i<=m;i++){
		int x;
		cin>>x;
		if(x<=k)mp2[x]++;
	}
	int t1=0,t2=0,t3=0;
	for(int i=1;i<=k;i++){
		if(mp1[i]&&!mp2[i])t1++;
		else if(!mp1[i]&&mp2[i])t2++;
		else if(mp1[i]&&mp2[i])t3++;
		else{
			cout<<"NO\n";
			return;
		}
	}
	for(int i=0;i<=t3;i++){
		if(t1+i==t2+(t3-i)&&t1+i==k/2){
			cout<<"YES\n";
			return;
		}
	}
	cout<<"NO\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;
} 

D. Find the Different Ones!

image
image
image

有点像dp // a[i]代表了与a[i]不同值的a[j]的最近下表j且j< i

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N];
int b[N];
void solve(){
	int n;
	cin>>n;
	int c=0;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=2;i<=n;i++){
		if(a[i-1]!=a[i]){
			c=i-1;
		}
		b[i]=c;
	}
	int q;
	cin>>q;
	for(int i=1;i<=q;i++){
		int l,r;
		cin>>l>>r;
		if(b[r]<l){
			cout<<-1<<" "<<-1<<"\n";
		}else{
			cout<<b[r]<<" "<<r<<"\n";
		}
	}
	cout<<"\n";
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	int t;
	cin>>t;
	for(int i=1;i<=t;i++)solve();
	return 0;
} 

标签:std,923,int,void,namespace,Codeforces,using,Div,include
From: https://www.cnblogs.com/yufan1102/p/18014463

相关文章

  • Codeforces Round 924 (Div. 2)
    B.Equalize与数组的原始顺序无关,直接排序,然后用双指针滑动范围a[r]-a[l]小于n#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;voidsolve(){ intn; cin>>n; set<int>st; for(inti=1;i<=n;i++){ intx; cin>>x; st.insert(x); } ......
  • Codeforces Round 924 (Div. 2)
    1928D-LonelyMountainDungeons题意:有\(n\)个种族,第\(i\)个种族\(c_i\)个生物,现在要将这些生物分成若干组,每一对不在同一组但是同一种族的生物会对这种分组的价值贡献\(b\),如果分了\(k\)组,则价值要减去\((k-1)x\),求最大价值。\(n\le10^5,\sumc_i\le10^5\)思......
  • Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)
    @目录题面链接题意题解代码总结题面链接C.KefaandPark题意求叶节点数量,叶节点满足,从根节点到叶节点的路径上最长连续1的长度小于m题解这道题目主要是实现,当不满足条件时直接返回。到达叶节点后统计答案,用vector存图的话,无向图时,叶节点的边只有一条,也就是\(g[i].size()......
  • Codeforces Round 924 (Div. 2)B. Equalize(思维+双指针)
    目录题面链接题意题解代码题面链接B.Equalize题意给一个数组\(a\),然后让你给这个数组加上一个排列,求出现最多的次数题解赛时没过不应该。最开始很容易想到要去重,因为重复的元素对于答案是没有贡献的。去重后排序。,然后维护一个极差小于n-1的区间,,区间长度就是可能的答案......
  • div 除法指令
    DIV(unsigneddivide)无符号数除法被除数的位数取决于除数格式:DIVSRC操作:SRC为字节时,商=(AL)←(AX)/(SRC),余数=(AH)←(AX)/(SRC)SRC为字时,商=(AX)←(DX,AX)/(SRC),余数=(DX)←(DX,AX)/(SRC)—————......
  • Codeforces Round 924 (Div. 2)
    E-ModularSequence题意给定\(n,x,y,s\),求是否有长为\(n\)的一个数列\(\{a\}\)满足\(a_1=x\)且\(\foralli>1:a_i=a_{i-1}+y\lora_i=a_{i-1}\bmody\)且\(\sum\limits_{i=1}^{n}a_i=s\)。\(\sumn,\sums\le2\times10......
  • Codeforces Round 924 (Div. 2)
    不会F的场。ACode#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intmain(){ ios::sync_with_stdio(false); cin.tie(0); intt; cin>>t; while(t--){ inta,b; cin>>a>>b; intf=0; if(a%2==0&&am......
  • Codeforces Round 924 (Div. 2)
    CodeforcesRound924(Div.2)A-RectangleCutting解题思路:初始矩形长宽为\((a,b)\),如果我们切\(a\),那么一定不能再拼接\(a\),否则一定一样。所以我们拼接\(b\),即将\(a\)对半分开得到两个\((\frac{a}{2},b)\)矩形拼接。此时,如果\(\frac{a}{2}=b\)那么拼接出来的矩形和初......
  • Codeforces Round 905 (Div. 3)
    题目链接A.先算距离,特判0的位置,最后加4#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+10;#defineinf0x3f3f3f3fvoidsolve(){strings;cin>>s;s=""+s;intlast=1,now,ans=0;for(inti=1;i<s.si......
  • Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)
    目录题目链接题意题解代码题目链接C.DigitalLogarithm题意给两个长度位\(n\)的数组\(a\)、\(b\),一个操作\(f\)定义操作\(f\)为,\(a[i]=f(a[i])=a[i]\)的位数求最少多少次操作可以使\(a、b\)两个数组变得完全相同题解性质:对于任何数,经过两次操作我们一定可以让其变为\(......