hash
文章平均质量分 53
我的妹妹syf
我的妹妹不可能那么胖
展开
-
codeforces 154 C - Double Profiles
题目大意:N个点,M条边,问有多少个点对对除彼此之间的点外对其他点的连接情况完全相同。(N,M显然能想到hash。如果我们给每个点一个hash值,再将每个和这个点相连的点加上这个hash值。不难发现,如果不考虑彼此的连接情况,我们可以进行hash。hash后会被分成若干个连接情况完全相同的块,那么这些块对答案的贡献就是size*(size-1)/2。如果彼此之间有边相连,那么我将连原创 2017-07-11 09:24:45 · 299 阅读 · 0 评论 -
codeforces 444D DZY Loves Strings
似乎还没有靠谱的题解嘛。。。我来写一发。首先我们发现,每个询问都很短,最长只有四。27^4=531441,所以显然可以把这个字符串hash一下,把出现的所有位置存下来,直接丢到vector里。由于是从头到尾扫一遍,所以vector里面的元素已经是有序的了。然后我们发现有这样一个特点:如果询问的两个字符串出现次数都不超过根号|S|,我们可以直接利用单调性扫过去,枚举A的出现位置,每次找到离它原创 2017-07-06 09:25:55 · 353 阅读 · 0 评论 -
Codeforces Round #124 (Div. 1) D. The Next Good String
#include#define N 400100using namespace std;typedef unsigned long long ULL;const ULL MOD=29;ULL cf[N],a[N];int n,m;char s[N];inline void ex(){ puts("Impossible"); exit(0);}ULL h[N];void d原创 2017-10-04 14:22:17 · 289 阅读 · 0 评论