zoukankan      html  css  js  c++  java
  • bzoj 4236JOIOJI

    一开始忘掉特殊情况也是蛋疼2333(有一直到头的。mp[0][0]是要特判的)

    做法也就是找mp[i][j]相同的东西。(貌似可以写成线性方程组(z=x+A,z=y+B)过这个的就是相等(可以先从2维考虑,y=x+B,就是相等的关系))

     1 #include<bits/stdc++.h>
     2 #define INF 0x7fffffff
     3 #define LL long long
     4 #define N 1000005
     5 using namespace std;
     6 inline int ra()
     7 {
     8     int x=0,f=1; char ch=getchar();
     9     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
    10     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
    11     return x*f;
    12 }
    13 map<int , map<int ,int > > mp;
    14 char s[N<<1];
    15 int J,O,I,ans;
    16 int main()
    17 {
    18     int n=ra(); scanf("%s",s+1);
    19     for (int i=1; i<=n; i++)
    20     {
    21         if (s[i]=='J') J++;
    22         if (s[i]=='O') O++;
    23         if (s[i]=='I') I++;
    24         if (I-O==0 && O-J==0) ans=max(i,ans);
    25         else if (mp[O-J][I-O]==0) mp[O-J][I-O]=i;
    26         else ans=max(i-mp[O-J][I-O],ans);
    27     }
    28     cout<<ans;
    29     return 0;
    30 } 
  • 相关阅读:
    Epplus
    常用的android弹出对话框
    android 获取当前位置
    android:inputType参数类型说明
    PageRank算法
    XGBoost算法
    FP-growth算法
    卡方分布与卡方检验
    Apriori算法
    关联规则
  • 原文地址:https://www.cnblogs.com/ccd2333/p/6375158.html
Copyright © 2011-2022 走看看