首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
HNOI 2006 最短母串
2024-08-09
[BZOJ1195]:[HNOI2006]最短母串(AC自动机+BFS)
题目传送门 题目描述 给定n个字符串(S1,S2,…,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,…,Sn)都是T的子串. 输入格式 第一行是一个正整数n,表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. 输出格式 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. 样例 样例输入: 2 ABCD BCDABC 样例输出: ABCDABC 数据范围与提示
【loj10061】最短母串
#10061. 「一本通 2.4 练习 4」最短母串 内存限制:512 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 上传者: 1bentong 提交 提交记录 统计 讨论 测试数据 题目描述 原题来自:HNOI 2006 给定 n个字符串 S1,S2,⋯,Sn 要求找到一个最短的字符串 T,使得这 n 个字符串都是 T 的子串. 输入格式 第一行是一个正整数 n,表示给定的字符串的个数: 以下的 n 行,每行有一个全由大写字母组
bzoj 1195: [HNOI2006]最短母串 爆搜
1195: [HNOI2006]最短母串 Time Limit: 10 Sec Memory Limit: 32 MBSubmit: 894 Solved: 288[Submit][Status][Discuss] Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的
2782: [HNOI2006]最短母串
2782: [HNOI2006]最短母串 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3 Solved: 2[Submit][Status][Web Board] Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度
BZOJ1195[HNOI2006]最短母串——AC自动机+BFS+状态压缩
题目描述 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. 输入 第一行是一个正整数n(n<=12),表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. 输出 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. 样例输入 2 ABCD BCDABC 样例输出 ABCDABC 题意是找一个最短的母串包含
BZOJ 1195: [HNOI2006]最短母串
1195: [HNOI2006]最短母串 Time Limit: 10 Sec Memory Limit: 32 MBSubmit: 1346 Solved: 450[Submit][Status][Discuss] Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串
P2322 [HNOI2006]最短母串问题
P2322 [HNOI2006]最短母串问题 AC自动机+bfs 题目要求:在AC自动机建的Trie图上找到一条最短链,包含所有带结尾标记的点 因为n<12,所以我们可以用二进制保存状态:某个带结尾标记的点是否被处理到. 把编号为 i 的结尾标记设为2^(i-1) 然后跑一遍bfs,如果跑到某个点结尾标记之和=2^n-1,那么就说明答案找到了 开2个数组保存每个bfs状态的对应的上一个编号和对应字母 输出的时候递归即可 attention:保存bfs状态的数组一定要开的很大(2e5/1e6/2e
[BZOJ1195]最短母串
1195: [HNOI2006]最短母串 Time Limit: 10 Sec Memory Limit: 32 MB Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. Output 只有一行,为找到的最短的字符串T.在保证最短的前提下,如果有多个字
[HNOI2006]最短母串问题 --- AC自动机 + 隐式图搜索
[HNOI2006]最短母串问题 题目描述: 给定n个字符串(S1,S2.....,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,......,Sn)都是T的子串. 输入格式: 第一行是一个正整数n(n<=12),表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. 输出格式: 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. 考虑T匹配了所有的
【状态压缩dp】1195: [HNOI2006]最短母串
一个清晰的思路就是状压dp:不过也有AC自动机+BFS的做法 Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. Output 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. Sa
BZOJ_1195_[HNOI2006]最短母串_AC自动机+BFS+分层图
BZOJ_1195_[HNOI2006]最短母串_AC自动机+BFS+分层图 Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. Output 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列
[bzoj1195][HNOI2006]最短母串_动态规划_状压dp
最短母串 bzoj-1195 HNOI-2006 题目大意:给一个包含n个字符串的字符集,求一个字典序最小的字符串使得字符集中所有的串都是该串的子串. 注释:$1\le n\le 12$,$1\le max length \le 50$. 想法:刚开始在那里AC自动机半天,然后瞅了一眼数据范围... ...状压吧兄弟!! 首先,我们先做一些预处理:把可以被字符集中串包含的串都删掉:求出两个字符串连接后的长度(这个预处理暴力即可),设merge[i][j]表示串i和串j合并后的长度. 状态:dp[
bzoj 1195 [HNOI2006]最短母串 bfs 状压 最短路 AC自动机
LINK:最短母串 求母串的问题.不适合SAM. 可以先简化问题 考虑给出的n个字符串不存在包含关系. 那么 那么存在的情况 只可能有 两个字符串拼接起来能表示另外一个字符串 或者某个字符串的后缀可以当成别的字符串的前缀使用. 实际情况可能更加复杂. 观察上面的两种情况 容易AC自动机可以解决类似的问题. 在AC自动机上跑 就可以借用别的字符串的后缀当做自己的前缀进行使用了. 考虑建立出AC自动机 我们要求出一条路径 使得AC自动机上所有的终止节点都被经过. 当然也有特殊情况 就是 以终止节点为
[HNOI2006]最短母串问题
题目大意:给定一个字符串集,求一个最短字串,使得该集合内的串都是该串的一个子串 算法:AC自动机+最短路+状压DP 注意空间限制 #include"cstdio" #include"cstring" #include"iostream" #include"algorithm" #include"bitset" #include"string" using namespace std; c
【33.28%】【BZOJ 1195】[HNOI2006]最短母串
Time Limit: 10 Sec Memory Limit: 32 MB Submit: 1208 Solved: 402 [Submit][Status][Discuss] Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. Output 只有
HNOI 2006 BZOJ 1195 最短母串
题面 问题描述 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. 输入 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. 输出 只有一行,为找到的最短的字符串T.在保证最短的前提下,如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. Sample Input 2 ABCD BCDABC Sample Output ABCDA
1195: [HNOI2006]最短母串 - BZOJ
Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串.Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数.以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50.Output 只有一行,为找到的最短的字符串T.在保证最短的前提下,如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个.Sample Input 2 ABCD BCDABCSample Outpu
BZOJ1195 [HNOI2006]最短母串 AC自动机 bfs
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - BZOJ1195 题意概括 给出一堆串,然后求一个包含这些串的所有串的最短的中的字典序最小的. 题解 先造一个AC自动机,多模匹配嘛. 然后bfs在AC自动机上面走,两维状态,dis[i][j]表示已经走到过的串状态为i,在AC自动机上面的位置为j的最短距离. 然后这题居然要卡空间! 坑死了. 然后用了short wa掉了. 发现short实在小的可怜,然后把几个大的数组的有必要的一个开了int,然后30MB卡
洛谷P2322 最短母串问题 [HNOI2006] AC自动机
正解:AC自动机+最短路 解题报告: 传送门! 这题之前考试考到辣,,,我连题目都没看懂这种傻逼事儿就不要说了QAQ 然后就港正解辣 首先这题可以用dp做?等下写 但是一般来说看到这种,第一反应就,先建个AC自动机呗 然后建完之后想怎么做呢 又有两个方法,分别港下 法一,最短路+dfs 首先想怎么样会变短呢,就是假如fail指针指向了某个串的中间一个节点,那么这个串的前面一段就可以省掉了,然后就变短了,是趴 那要保证最短,就可以直接在trie图上跑个最短路(要用spfa因为有环) 然后关于字典序
【刷题】BZOJ 1195 [HNOI2006]最短母串
Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12),表示给定的字符串的个数. 以下的n行,每行有一个全由大写字母组成的字符串.每个字符串的长度不超过50. Output 只有一行,为找到的最短的字符串T.在保证最短的前提下, 如果有多个字符串都满足要求,那么必须输出按字典序排列的第一个. Sample Input 2 ABCD BCDABC Sample
[HNOI2006]最短母串问题 AC自动机
题面:洛谷 题解: 如果我们对这些小串建出AC自动机,那么我们所求的大串就是要求满足遍历过所有AC自动机上的叶子节点,且经过步数最少的串.如果有多个步数相同的串,要输出字典序最小的串. 在AC自动机上DP. 因为我们要求所求串内要出现所有给定小串,而小串个数较少,因此我们考虑状压,然后保存下val[i]表示走到这个点,就可以拥有哪些子串.因为一个非终止节点也可能包含给定小串,因此我们要在建好fail之后,继承一个点x的fail[x]所包含的小串,按编号大小更新即可保证在x被更新之前fail[x]
热门专题
命令执行初级 ping ctf
sublime 控制台无法接受输入
jquer 寻找text是某值的元素
navicat添加外键1452
window7右键添加cmd
systemback 报错”no enough“
centos7开机横杠
annaconda安装
go gin 模板三级目录访问
linux KVM安装mac
火狐浏览器 min-width无效
visual studio 所有列开头插入
logisim机器码IM
openstack 独立网络节点
c#winform判定TEXTbox特定文本
opencv灰度图建立三维图像
hadoop正处在其生命周期的哪个阶段
topk优先队列算法c
centos7定时执行脚本
添加自定义过滤器在springsecurity中