码迷,mamicode.com
首页 > 其他好文 > 详细

2018百度之星资格赛1002

时间:2018-08-04 18:50:21      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:one   hid   ide   string   eof   前缀   memset   ==   view   

没错就是用来造(蹭)福(访)大(问)众(量)的

发现最小的子串只会是A~Z

直接统计前缀和...sum[26]统计一下。。。

技术分享图片
 1 #include<cstdio>
 2 #include<cstring>
 3 int sum[100005][26];
 4 int main() {
 5     int t;
 6     scanf("%d",&t);
 7     for(int T=1;T<=t;T++) {
 8         printf("Case #%d:\n",T);
 9         memset(sum,0,sizeof(sum));
10         int n,q;
11         char s[100005];
12         scanf("%d%d",&n,&q);
13         scanf("%s",s+1);
14         for(int i=1;i<=n;i++) {
15             for(int j=0;j<26;j++)
16                 if((s[i]-A)==j) sum[i][j]=sum[i-1][j]+1;
17                 else sum[i][j]=sum[i-1][j];
18         }
19         while(q--) {
20             int l,r,ans=0;
21             scanf("%d%d",&l,&r);
22             for(int j=0;j<26;j++)
23                 if((sum[r][j]-sum[l-1][j])>0) {
24                     ans=sum[r][j]-sum[l-1][j];
25                     break;
26                 }
27             printf("%d\n",ans);
28         }
29     }
30 }
View Code

 

2018百度之星资格赛1002

标签:one   hid   ide   string   eof   前缀   memset   ==   view   

原文地址:https://www.cnblogs.com/ZincSabian/p/9419213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!