Acwing第 68 场周赛未完结

Posted 辉小歌

tags:

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

https://www.acwing.com/activity/content/competition/problem_list/2274/

目录

4612. 去掉0【双指针】

#include<bits/stdc++.h>
using namespace std;
int main(void)

    int t; cin>>t;
    while(t--)
    
        string s; cin>>s;
        vector<int>ve;
        int ans=0;
        for(int i=0;i<s.size();i++)
        
            if( (s[i]=='1') && (i+1<s.size()) && (s[i+1]=='0') )
            
                int j=i+1;
                while( (j+1)<s.size() && (s[j+1]=='0') ) j++;
                if(j+1<s.size()&&s[j+1]=='1') ans+=j-i;
            
        
        cout<<ans<<endl;
    
    return 0;

4613. 方格跳跃【前缀和】


前缀和,左右分别扫一遍即可。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*3+10;
int st[N];
int main(void)

    int n; cin>>n;
    string s; cin>>s;
    s=")"+s;
    for(int i=n;i>=1;i--)
    
        if(s[i]=='<') st[i]=1;
        st[i]=max(st[i],st[i+1]);
    
    int cnt=0;
    for(int i=1;i<=n;i++) if(s[i]=='>'&&!st[i+1]) cnt++;
    memset(st,0,sizeof st);
    for(int i=1;i<=n;i++)
    
        if(s[i]=='>')  st[i]=1;
        st[i]=max(st[i],st[i-1]);
    
    for(int i=1;i<=n;i++) if(s[i]=='<'&&!st[i-1]) cnt++;
    cout<<cnt;
    return 0;

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

Acwing第 68 场周赛未完结

Acwing第 57 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 65 场周赛未完结