BZOJ4236 JOIOJI(map)

Posted ghblw

tags:

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

前缀和,判定条件转化一下,就可以用map了,注意初始化

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     cin>>n;
 7     string s;
 8     cin>>s;
 9     int J=0,O=0,I=0;
10     map<pair<int,int>,int>mapp;
11     mapp[make_pair(0,0)]=-1;
12     int ans=0;
13     for(int i=0;i<n;i++){
14         if(s[i]==J) J++;
15         if(s[i]==O) O++;
16         if(s[i]==I) I++;
17         if(mapp.find(make_pair(J-O,O-I))==mapp.end()){
18             mapp[make_pair(J-O,O-I)]=i;
19         }
20         else{
21             ans=max(ans,i-mapp[make_pair(J-O,O-I)]);
22         }
23     }
24     cout<<ans<<endl;
25     return 0;
26 }

 

以上是关于BZOJ4236 JOIOJI(map)的主要内容,如果未能解决你的问题,请参考以下文章

bzoj4236 JOIJOI

BZOJ 4236~4247 题解

CSP核心代码片段记录

RecyclerView holder中的Android Google Maps动态片段

将多个输出中的hls属性设置为单独的片段代码

[数学][dp] Jzoj P4236 登山