BZOJ 4236 set乱搞
2024-09-07 15:38:11
思路:
取个差 在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);
}
最新文章
- 前端Javascript框架收集
- np2016课程总结
- 【转】Thread.sleep(0)的意义
- Beta版本——项目测试
- Context的使用(转)
- DP:Miking Time(POJ 3616)
- hdu 1879 继续畅通工程 解题报告
- Android EditText 获得输入焦点 以及requestfocus()失效的问题
- linux下在某行的前一行或后一行添加内容
- 使用Rxjava缓存请求
- Struts中文件的上传与下载
- arcgis engine - 鹰眼在栅格图无法显示.
- Ubuntu(Linux) + mono + jexus +asp.net MVC3
- centos下安装dubbo-admin步骤
- Spring Security Filter详解
- Tensorflow ActiveFunction激活函数解析
- Unity TimeLine
- static与volatile的用法
- ETC的发展演变
- Windows7 64bits下安装TensorFlow CPU版本(图文详解)