4 条题解

  • 1
    @ 2022-07-28 21:25:42

    #include<bits/stdc++.h>
    typedef long long int ll;
    using namespace std;
    //Header
    int a[1005];
    void solve(int l,int r)
    {
    map<int,int> mp;
    int ans=0;
    for(int i=l;i<=r;i++)
    {
    mp[a[i]]++;if(mp[a[i]]==1) ans++;
    }
    cout<<ans<<endl;
    }
    int main()
    {
    int n,m;cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    char c;cin>>c;
    if(c=='+')a[i]=a[i-1]+1;else a[i]=a[i-1]-1;
    }
    while(m--)
    {
    int l,r;cin>>l>>r;
    solve(l,r);
    }
    return 0;
    }

  • 1
    @ 2022-07-28 21:25:39

    #include<bits/stdc++.h>
    typedef long long int ll;
    using namespace std;
    //Header
    int a[1005];
    void solve(int l,int r)
    {
    map<int,int> mp;
    int ans=0;
    for(int i=l;i<=r;i++)
    {
    mp[a[i]]++;if(mp[a[i]]==1) ans++;
    }
    cout<<ans<<endl;
    }
    int main()
    {
    int n,m;cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    char c;cin>>c;
    if(c=='+')a[i]=a[i-1]+1;else a[i]=a[i-1]-1;
    }
    while(m--)
    {
    int l,r;cin>>l>>r;
    solve(l,r);
    }
    return 0;
    }

  • 1
    @ 2022-07-28 21:25:23

    #include<bits/stdc++.h>
    typedef long long int ll;
    using namespace std;
    //Header
    int a[1005];
    void solve(int l,int r)
    {
    map<int,int> mp;
    int ans=0;
    for(int i=l;i<=r;i++)
    {
    mp[a[i]]++;if(mp[a[i]]==1) ans++;
    }
    cout<<ans<<endl;
    }
    int main()
    {
    int n,m;cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
    char c;cin>>c;
    if(c=='+')a[i]=a[i-1]+1;else a[i]=a[i-1]-1;
    }
    while(m--)
    {
    int l,r;cin>>l>>r;
    solve(l,r);
    }
    return 0;
    }

  • 1
    @ 2021-04-14 15:57:57

    本题改编自cf上的一道题。
    对于本题的数据规模来说,暴力即可。
    因为数字范围不大,不使用map而直接用数组也可。
    Code:

    #include<bits/stdc++.h>
    typedef long long int ll;
    using namespace std;
    //Header
    int a[1005];
    void solve(int l,int r)
    {
        map<int,int> mp;
        int ans=0;
        for(int i=l;i<=r;i++)
        {
            mp[a[i]]++;if(mp[a[i]]==1) ans++;
        }
        cout<<ans<<endl; 
    } 
    int main()
    {   
        int n,m;cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            char c;cin>>c;
            if(c=='+')a[i]=a[i-1]+1;else a[i]=a[i-1]-1;
        }
        while(m--)
        {
            int l,r;cin>>l>>r;
            solve(l,r);
        }
        return 0;
    }
    
  • 1

信息

ID
1234
难度
3
分类
(无)
标签
递交数
146
已通过
65
通过率
45%
被复制
7
上传者