1. 题目

传送门= ̄ω ̄=

2. 题解

傻吊出题人,范围不写清楚
数据比较水,乱搞哈希就能过。
字符串哈希一般使用等比数列哈希
不过tmd比例必须用题目给出的nc(脑残),不然过不了。
鬼知道为什么
傻吊出题人

代码:

#include <cstdio>
#include <cstring>
using namespace std;
int n,nc,a[30],strl,cnt,ans;
bool book[16000005];
char s[16000005];
int main()
{
    scanf("%d%d%s",&n,&nc,s),strl=strlen(s);
    for(int i=0;i<strl;i++){s[i]-='a';if(!a[s[i]])a[s[i]]=cnt++;}
    for(int i=0;i+n-1<strl;i++)
    {
        int sum=0;
        for(int j=i;j<=i+n-1;j++)sum=sum*nc+a[s[j]];
        if(book[sum])continue;
        ans++,book[sum]=1;
    }
    printf("%d\n",ans);
    return 0;
}
分类: 文章

XZYQvQ

炒鸡辣鸡的制杖蒟蒻一枚QvQ

发表评论

电子邮件地址不会被公开。 必填项已用*标注

你是机器人吗? =。= *