Acwing第 19 场周赛完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 19 场周赛完结相关的知识,希望对你有一定的参考价值。

3991. 满足条件的01串【难度: 一般】


https://www.acwing.com/problem/content/3994/

#include<bits/stdc++.h>
using namespace std;
int main(void)
{
    int t; cin>>t;
    while(t--)
    {
        int n; cin>>n;
        string s; cin>>s;
        bool flag=true;
        if(s.find("000")!=-1) flag=false;
        if(s.size()>=2&&s[0]=='0'&&s[1]=='0') flag=false;
        if(s.size()==1&&s[0]=='0') flag=false;
        if(s.size()>=2&&s[s.size()-1]=='0'&&s[s.size()-2]=='0') flag=false;
        if(s.find("11")==-1&&flag) puts("Yes");
        else puts("No");
    }
	return 0;
}

3992. 树上有猴【难度: 一般 / 知识点: 前缀和 思维】


https://www.acwing.com/problem/content/description/3995/

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m,a[N];
int main(void)
{
    cin>>n>>m;
    int minv=0,maxv=m,sum=0;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        sum+=a[i];
        minv=max(minv,-sum);
        maxv=min(maxv,m-sum);
    }
    cout<<max(0,maxv-minv+1);
    return 0;
}

3993. 石子游戏【难度: 中 / 知识点: 前缀和 思维】


https://www.acwing.com/problem/content/3996/

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
int n,k,a[N],s[N];
int minv=1e9,maxv=-1e9;
int get(int i)
{
    return s[maxv]-s[i-1];
}
int main(void)
{
    cin>>n>>k;
    for(int i=0;i<n;i++) cin>>a[i],s[a[i]]++,minv=min(minv,a[i]),maxv=max(maxv,a[i]);
    for(int i=0;i<=maxv;i++) s[i]+=s[i-1];
    int res=0;
    for(int i=maxv;i>minv;)
    {
        int sum=0,j=i;
        while(j>minv&&sum+get(j)<=k) sum+=get(j--);
        i=j;
        res++;
    }
    cout<<res<<endl;
    return 0;
}

以上是关于Acwing第 19 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章

Acwing第 31 场周赛完结

Acwing第 36 场周赛完结

Acwing第 56 场周赛完结

Acwing第 32 场周赛完结

Acwing第 59 场周赛完结

Acwing第 35 场周赛完结