POJ 1200 Hash

来源:互联网 发布:淘宝如何赚集分宝 编辑:程序博客网 时间:2024/05/18 01:24

我的hash从来没写对过。。。。。。。。
(白学了快一年OI ……原来连个hash都没写对过)
但是
但是
今天是一个值得纪念的日子。

看看标题

我竟然在写hash的题解。
(好了好了 废话少说)
题意:
给你一个串,求长度为n的不同的子串的个数。
题目中的NC是什么意思 反正我没看懂,(But我能AC)
思路:
QY讲的hash 随便搞搞就过了。。。

// by SiriusRen#include <bitset>#include <cstdio>#include <cstring>using namespace std;#define N 100000007bitset<N>b;long long nc,n,ans=0,len,q=0;char a[700000];int main(){    scanf("%lld%lld\n%s",&n,&nc,a);    len=strlen(a);    for(int i=0;i<=len-n;i++){        for(int j=0;j<n;j++)            q=((q<<8)+a[i+j])%N;        if(!b[q])b[q]=1,ans++;        q=0;    }    printf("%lld",ans);}

这里写图片描述

0 0
原创粉丝点击