思路:

取个差 在set里面找 更新

(这个用map更好吧 但是我不会……)

//By SiriusRen
#include <set>
#include <cstdio>
#include <algorithm>
using namespace std;
int n,sum[200050][3],ans;
char ch[200050];
struct Node{int x,y,rec;}jy;
struct cmp{
bool operator ()(Node a,Node b){
if(a.x==b.x)return a.y<b.y;
return a.x<b.x;
}
};
set<Node,cmp>s;
set<Node,cmp>::iterator it;
int main(){
scanf("%d%s",&n,ch+1);
s.insert(jy);
for(int i=1;i<=n;i++){
sum[i][0]=sum[i-1][0]+(ch[i]=='J');
sum[i][1]=sum[i-1][1]+(ch[i]=='O');
sum[i][2]=sum[i-1][2]+(ch[i]=='I');
jy.x=sum[i][1]-sum[i][0],jy.y=sum[i][2]-sum[i][1];
jy.rec=i,it=s.find(jy);
if(it==s.end())s.insert(jy);
else ans=max(ans,i-it->rec);
}
printf("%d\n",ans);
}

最新文章

  1. 前端Javascript框架收集
  2. np2016课程总结
  3. 【转】Thread.sleep(0)的意义
  4. Beta版本——项目测试
  5. Context的使用(转)
  6. DP:Miking Time(POJ 3616)
  7. hdu 1879 继续畅通工程 解题报告
  8. Android EditText 获得输入焦点 以及requestfocus()失效的问题
  9. linux下在某行的前一行或后一行添加内容
  10. 使用Rxjava缓存请求
  11. Struts中文件的上传与下载
  12. arcgis engine - 鹰眼在栅格图无法显示.
  13. Ubuntu(Linux) + mono + jexus +asp.net MVC3
  14. centos下安装dubbo-admin步骤
  15. Spring Security Filter详解
  16. Tensorflow ActiveFunction激活函数解析
  17. Unity TimeLine
  18. static与volatile的用法
  19. ETC的发展演变
  20. Windows7 64bits下安装TensorFlow CPU版本(图文详解)

热门文章

  1. CF939F Cutlet (单调队列优化DP)
  2. java 获取config 配置文件
  3. vmware vsphere出现“需要整合虚拟机磁盘”的告警处理方法(完整版)
  4. redhat下搭建jdk+tomcat环境
  5. 05004_Linux的其他命令和权限命令
  6. String spilt时转义特殊字符【转】
  7. mysql中的锁表语句查看方法汇总
  8. gps 地图
  9. 怎样在windows7上使用snmp命令
  10. Hadoop - YARN NodeManager 剖析