博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018"百度之星"程序设计大赛 - 资格赛 1002 子串查询
阅读量:4524 次
发布时间:2019-06-08

本文共 975 字,大约阅读时间需要 3 分钟。

题面又是万能的毒毒熊。。。

实在不想写了,就只写了这题

记26个前缀和查询枚举最小值直接算

实在是氵的死

而且我忘记输出Case #%d 想了很久 >_<

#include
#define il inline#define vd voidtypedef long long ll;il int gi(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*f;}char A[100100];int S[26][100100];il vd work(int yyb){ int n=gi(),q=gi(); scanf("%s",A+1); memset(S,0,sizeof S); for(int i=1;i<=n;++i)++S[A[i]-'A'][i]; for(int j=0;j<26;++j) for(int i=1;i<=n;++i) S[j][i]+=S[j][i-1]; while(q--){ int l=gi(),r=gi(); for(int i=0;i<26;++i) if(S[i][r]-S[i][l-1]){ printf("%d\n",S[i][r]-S[i][l-1]); break; } }}int main(){ int T=gi(); for(int i=1;i<=T;++i)work(i); return 0;}

这里有除开第4题的题解https://www.cnblogs.com/finder-iot/p/9420143.html

转载于:https://www.cnblogs.com/xzz_233/p/9419274.html

你可能感兴趣的文章