BZOJ 3277/3473 广义后缀自动机】的更多相关文章

说实话没啥难的. 建一棵广义后缀自动机,暴力自底向上更新即可. 时间复杂度非常玄学,但据说是可以过的. 要注意每个串中相同的子串的贡献是都要加进去的,开始因为这个被坑了好久 QAQ Code: #include <cstdio> #include <algorithm> #include <vector> #include <cstring> #include <string> #define setIO(s) freopen(s".i…
3277: 串 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 309 Solved: 118 [Submit][Status][Discuss] Description 字符串是oi界常考的问题.现在给定你n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(注意包括本身). Input 第一行两个整数n,k. 接下来n行每行一个字符串. Output 输出一行n个整数,第i个整数表示第i个字符串的答案. Sa…
Code: #include<bits/stdc++.h> #define maxn 300000 #define ll long long using namespace std; vector<int>G[maxn]; char str[maxn]; int n,Q; ll ans=1; void setIO(string s) { string in=s+".in"; string out=s+".out"; freopen(in.c_…
思路:重点在于叶子节点只有20个,我们把叶子节点提到根,把20个trie图插入后缀自动机,然后就是算有多少个本质不同的字串. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PII pair<int, int> #define PLI pair<LL, int> #define ull unsigned…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3277 https://www.lydsy.com/JudgeOnline/problem.php?id=3473 广义后缀自动机:https://www.cnblogs.com/HocRiser/p/9580478.html 像 Trie 树一样处理了重复节点: 基数排序后DP,f 数组求的直接是这个点及其祖先的答案: 开 2e5 就可以,因为每次加入一个字符最多新增2个点. 代码如下:…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3277 https://www.lydsy.com/JudgeOnline/problem.php?id=3473 学习的博客:https://www.cnblogs.com/HocRiser/p/9580478.html 广义后缀自动机有两种写法,这里写的是 trie 树的那种. 大意就是每个串从自动机的根开始走, 1.如果存在 q = go[p][w] ,且 l [q] == l [p]…
3473: 字符串 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 354  Solved: 160[Submit][Status][Discuss] Description 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串? Input 第一行两个整数n,k. 接下来n行每行一个字符串. Output 一行n个整数,第i个整数表示第i个字符串的答案. 字符串总长度L n,k,L<=1e5 研究了两节多课…
/* 广义后缀自动机, 每次加入维护 该right集合的set, 然后可以更新所有的parent,最终能够出现在k个串中right集合也就是set大小大于等于k的部分 这样的话就给了我们要跳的节点加了一个限制, 也就是跳的时候调到第一个sz>= k的节点, 因为更长的话答案不会增加 数据范围非常迷 好吧 暴力合并set复杂度过高 暴力更新祖先的情况竟然会少一个log */ #include<cstdio> #include<algorithm> #include<cst…
3926: [Zjoi2015]诸神眷顾的幻想乡 Time Limit: 10 Sec Memory Limit: 512 MB Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看.幽香当然也非常高兴啦. 这时幽香发现了一件非常有趣的事情,太阳花田有n块空地.在过去,幽香为了方便,在这n块空地之间修建了n-1条边将它们连通起来.也就是说,这n块空地形…
题目链接 \(Description\) 给定n个模式串,多次询问一个串在多少个模式串中出现过.(字符集为26个小写字母) \(Solution\) 对每个询问串进行匹配最终会达到一个节点,我们需要得到这个节点所代表的子串出现在多少个模式串中. 建立广义后缀自动机.每次插入一个串,从root开始,对于SAM上每个节点维护cnt和bef,分别表示该节点代表的串出现在几个模式串中 和 该节点最近被哪个模式串更新过cnt. 对于bef[i]!=now的节点,++cnt[i],bef[i]=now:当模…