首页 > 代码库 > 水一发

水一发

http://codeforces.com/problemset/problem/602/B 最大的稳定子序列

技术分享
 1 #include<iostream>
 2 using namespace std;
 3 #define MAX 100002
 4 struct P
 5 {
 6     int v,t;
 7 } p[MAX];
 8 int main()
 9 {
10     int n,tem;
11     cin>>n;
12     for(int i=0; i<n; i++)
13     {
14         p[i].v=0;
15         p[i].t=0;
16     }
17     cin>>p[0].v;
18     p[0].t=1;
19     int l=1;/// 不同元素个数
20     for(int i=1; i<n; ++i)
21     {
22         cin>>tem;
23         if(tem==p[l-1].v)
24             p[l-1].t++;///次数++
25         else
26         {
27             p[l].v=tem;
28             p[l].t++;
29             l++;
30         }
31     }
32 
33     int maxx=0; ///结果
34     struct P tt=p[0];  ///第一数
35     for(int i=1; i<l; i++)
36     {
37         int ans=0;
38         if(abs(p[i].v-tt.v)<=1)
39         {
40             int f=p[i].v;
41             ans+=p[i].t;
42             ans+=tt.t;
43             int flag=0;
44             while(p[i+1].v==tt.v||f==p[i+1].v)
45             {
46                 ans+=p[i+1].t;
47                 i++;
48                 flag=1;
49             }
50             if(flag)i--;
51             tt=p[i];
52            //  cout<<"---"<<ans<<endl;
53             maxx=max(maxx,ans);
54 
55         }
56     }
57     if(maxx==0)cout<<p[0].t<<endl;
58     else
59     cout<<maxx<<endl;
60     return 0;
61 }
View Code

 http://codeforces.com/problemset/problem/554/B 扫垃圾(水)

技术分享
 1 #include<iostream>
 2 #include<map>
 3 using namespace std;
 4 map<string,int> mp;
 5 int main()
 6 {
 7     int n,maxx;
 8     string s;
 9     cin>>n;
10     maxx=0;
11     for(int i=0; i<n; i++)
12     {
13         cin>>s;
14         mp[s]++;
15         maxx=max(maxx,mp[s]);
16     }
17     cout<<maxx<<endl;
18     return 0;
19 }
View Code

 

水一发