
算法
qq_43312551
这个作者很懒,什么都没留下…
展开
-
序列自动机及应用
nex[i][j]表示在原串s时第i位后面第一个字母j出现的位置初始化:(scanf("%s",s+1);int len = strlen(s+1)for(int i=len;i>=1;i--) { for(int j=0;j<26;j++) nex[i-1][j] = nex[i][j]; nex[i-1][s[i]-'a'] = i; }例如:s = “a...转载 2019-04-21 11:01:18 · 854 阅读 · 0 评论 -
hash(整数哈希)
小w的a=b问题预处理一个阶乘在不同模系下的值作为hash值,然后判断两个数组hash值的乘积是否相等即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int inf = 0x3f3f3f3f;ll mod[10]={1000019,1000079,1000103,1000...原创 2019-07-05 14:34:28 · 1353 阅读 · 0 评论