[bzoj3098]Hash Killer 2——哈希】的更多相关文章

题目 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题: 给你一个长度为N的字符串S,求有多少个不同的长度为L的子串. 子串的定义是S[l].S[l + 1].- S[r]这样连续的一段. 两个字符串被认为是不同的当且仅当某个位置上的字符不同. VFleaKing一看觉得这不是Hash的裸题么!于是果断写了哈希 + 排序. 而hzhwcmhf神犇心里自然知道,这题就是后缀数组的height中 < L的个数 + 1,就是后缀自动机上代表的长度区间包含L的结点个数,就是后缀树深度为L…
教育我们做Rabin-Karp的时候一定要把模数取大?还是上溢好了. #include<cstdio> #include<cstdlib> using namespace std; int main() { puts("100000 13"); for(int i=1;i<=100000;i++) putchar(rand()%26+'a'); puts(""); return 0; }…
Description 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题: 给你一个长度为N的字符串S,求有多少个不同的长度为L的子串. 子串的定义是S[l].S[l + 1].... S[r]这样连续的一段. 两个字符串被认为是不同的当且仅当某个位置上的字符不同. VFleaKing一看觉得这不是Hash的裸题么!于是果断写了哈希 + 排序. 而hzhwcmhf神犇心里自然知道,这题就是后缀数组的height中 < L的个数 + 1,就是后缀自动机上代表的长度区间包含L的结点个…
Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 2162  Solved: 1140[Submit][Status][Discuss] Description 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题:给你一个长度为N的字符串S,求有多少个不同的长度为L的子串.子串的定义是S[l].S[l + 1].... S[r]这样连续的一段.两个字符串被认为是不同的当且仅当某个位置上的字符不同. VF…
这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题:给你一个长度为N的字符串S,求有多少个不同的长度为L的子串.子串的定义是S[l].S[l + 1].... S[r]这样连续的一段.两个字符串被认为是不同的当且仅当某个位置上的字符不同. VFleaKing一看觉得这不是Hash的裸题么!于是果断写了哈希 + 排序.而hzhwcmhf神犇心里自然知道,这题就是后缀数组的height中 < L的个数 + 1,就是后缀自动机上代表的长度区间包含L的结点个数,就是后缀树深度为L的结点的数…
题目传送门 题目大意: 让你构造一个字符串,使字符串在题目给出的哈希条件下统计出错. 思路:生日攻击,结论题,尚未理解. #include<bits/stdc++.h> #define CLR(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; ; int main() { ; cout<<maxn<<' '<<l<<endl; ;i<=maxn;i++…
挺有意思的一题 就是卡一个\(hash\) 我们先取L大概几十保证结果会超出\(10^9 + 7\) 然后就随机输出\(10^5\)个字符 由题目的提示我们可以想到,如果我们有\(n\)个数,选\(k\)次,那么出现重复数字的次数期望为: \[\sum\limits_{i = 0}^{k} \frac{i}{n}\] 我们令 \[\sum\limits_{i = 0}^{k} \frac{i}{n} = 1\] 解得\(k\)约等于\(\sqrt{n}\) 就可以证明,在\(n\)范围内随机选\…
BZOJ3098 Hash Killer II Solution 这道题目好像题面里面给了提示(当然没给就有点难想了.) 曾经讲过一个叫做生日悖论的,不知道还有多少人记得 考虑相同的可能性大概是\(\sqrt{n}\)的,所以直接随机一下就好了(概率AC). 代码实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<iostream>…
首先,Hash Killer I.II.III是BZOJ上面三道很经典的字符串哈希破解题.当时关于II,本人还琢磨了好久,但一直不明白为啥别人AC的代码都才0.3kb左右,直到CYG神犇说可以直接随机水过去,遂恍然大悟... 于是,本人今天也做了下实验——假设现在有一个字符串题:输入N,接下来N行输入N个长度一样的由大写字母组成的字符串,求一共有多少种不同的字符串.此题有些类似于Hash Killer上面的原题.首先分析此题本身,两种常规办法:1.建立一棵字典树,然后可以相当方便快捷的判重,对于…
3098: Hash Killer II Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1219  Solved: 648[Submit][Status][Discuss] Description 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题:给你一个长度为N的字符串S,求有多少个不同的长度为L的子串.子串的定义是S[l].S[l + 1].... S[r]这样连续的一段.两个字符串被认为是不…