Codeforces963D. Frequency of String】的更多相关文章

$n \leq 100000$的一文本串,给$m \leq 100000$个询问,每次问一小串在文本串的哪一个最短的子串里出现指定次数.注意,询问串互不相同,且总长度$\leq 100000$. 比赛时不会分析复杂度QAQ没想到这么简单 互不相同的询问串,不同的长度会只有根号个.而每个长度的出现次数都是n级别的,因此总的出现次数是$n\sqrt{n}$,只要想出$O(串长+出现次数)$的匹配算法就行了. 然后SA,SAM,AC,bitset挑个写就行了.写了AC. //#include<iost…
题目大意: 给一个串s和很多模式串,对每个模式串求s的一个最短的子串使得这个子串中包含至少k个该模式串. 题目分析: 均摊分析,有sqrt(n)种长度不同的模式串,所以有关的串只有msqrt(n)种.暴力用AC自动机找出来即可. 代码: #include<bits/stdc++.h> using namespace std; ; ; int n,num,root,d[maxn],fa[maxn],fail[maxn],Ex[maxn]; string str,query[maxn]; vect…
You are given a string ss. You should answer nn queries. The ii-th query consists of integer kiki and string mimi. The answer for this query is the minimum length of such a string tt that tt is a substring of ss and mimi has at least kiki occurrences…
https://codeforces.com/problemset/problem/123/D 题目大意 给一个字符串 \(s\),每次询问一个字符串 \(m_i\) 和一个正整数 \(k_i\),问 \(s\) 中包含了 \(k_i\) 次 \(m_i\) 的子串的长度最小值. 每次询问的 \(m_i\) 两两不同. 解法 考虑一下询问的字符串的出现次数. 如果有多个长度相同的 \(m_i\),那么他们的最多出现次数之和是 \(O(|s|)\) 的.因此考虑最坏的情况,即询问的 \(m_i\)…
题意:有一个串s,n个串模式串t,问s的子串中长度最小的包含t k次的长度是多少 题解:把所有t建ac自动机,把s在ac自动机上匹配.保存每个模式串在s中出现的位置.这里由于t两两不同最多只有xsqrt(x),x是总长度.然后双指针扫一遍即可 这里有一个很重要的优化技巧,由于ac自动机上不是每个点都是t的结尾,我们把fail向上跳一次变成直接跳到t的结尾,build预处理一下 //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragm…
http://codeforces.com/contest/963/problem/D 题解:https://www.cnblogs.com/Blue233333/p/8881614.html 记M为n个串的总长,L为s的长度 询问串的不同的长度只会有sqrt(M)级别个 (最差的情况是串长为1,2,3,...,x,此时M=(x+1)x/2,因此x是sqrt(M)级别的) s的子串中,长度为特定值k的子串个数是L级别的, 由于各个字符串互不相同,这就相当于n个串中所有长度为k的串,分别计算出它们…
写在前面的话,既然是学习版本,那么就不是一个好用的工程实现版本,整套代码全部使用List进行匹配效率可想而知. [原文转自]:http://computergodzilla.blogspot.com/2013/07/how-to-calculate-tf-idf-of-document.html,修改了其中一些bug. P.S:如果不是被迫需要语言统一,尽量不要使用此工程计算TF-IDF,计算2W条短文本,Matlab实现仅是几秒之间,此Java工程要计算良久..半个小时?甚至更久,因此此程序作…
17.1 swap a number in place.(without temporary variables) a = a ^ b; b = a ^ b; a = a ^ b; 17.3 Write a function which computes the number of trailing zeros in n factorial. To count the number of zeros, we only need to count the pairs of multiples of…
3.1.3 用例举例 在学习它的实现之前我们还是应该先看看如何使用它.相应的我们这里考察两个用例:一个用来跟踪算法在小规模输入下的行为测试用例和一个来寻找更高效的实现的性能测试用例. 3.1.3.1 行为测试用例 为了在小规模的的输入下跟踪算法的行为,我们用一下测试用例测试我们对符号表的所有实现.这段代码会从标准输入接受多个字符串,构造一张符号表来将i 和第i 个字符串相关联,然后打印符号表.我们假设所有的字符串都只有一个字母.一般我们会使用”S E A R C H E X A M P L E”…
本次作业地址: https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882 学号: 201731072323   partner: 201731062201 本人博客地址: https://www.cnblogs.com/jason5689/ Github地址: https://github.com/Jason98w/WordCount 伙伴作业地址: https://www.cnblogs.com/lu…