【BZOJ2754】喵星球上的点名(AC自动机) 题面 "BZOJ" 题解 友情提示:此题请不要在cogs上提交,它的数据有毒 对于点名串构建$AC$自动机 然后把名字丢进去进行匹配, 大力统计一下答案即可 当然,要用$map$记录$trie$树 cpp include include includ ...
分类:
其他好文 时间:
2018-02-25 11:17:49
阅读次数:
187
绝世好题。 正当我犹豫不决时,hzwer说:“MAP!!!” 没错这题大大的暴力,生猛的stl,贼基尔爽,,???,, 由于我们求点名在名字中的子串个数,所以将点名建AC自动机,记录节点属于哪次点名,每次带着这位同学的所有名字去里面扫,注意判重 复杂度20000*100000以及玄学的stl复杂度。 ...
分类:
其他好文 时间:
2018-01-22 19:29:53
阅读次数:
140
Aho-Corasick automaton:BZOJ4820【bzoj2754】[SCOI2012]喵星球上的点名后缀数组:BZOJ4310 跳蚤manacher: BZOJ3160万径人踪灭Palindromic Tree:bzoj4044Bzoj3676:[Apio2014]回文串 bzoj ...
分类:
其他好文 时间:
2017-09-24 13:45:45
阅读次数:
181
题目链接 AC自动机 由于输入的是恶心的数字,用了map强行带log…… 由于不清楚长度,用了vector强行增加时间…… 由于要判重,用了数组存下强行加常数…… 慢惨了 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdlib> 4
分类:
其他好文 时间:
2016-03-01 22:23:24
阅读次数:
208
对于点名串建AC自动机。。数字太大所以写了棵treap>_<...... 然后每个人直接暴力在AC自动机上跑名字就行了。每次匹配到一个节点都要沿着fail链更新答案。 大概显然这样会被随便卡。所以有个小优化就是,沿着fail跳的时候如果之前已经走过了就不要再走了。具体实现用int比bool好一些。(
分类:
其他好文 时间:
2016-02-17 06:03:21
阅读次数:
324
后缀数组的板有点问题_(:з」∠)_ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define MaxN 30010 9 #define MaxM 20...
分类:
编程语言 时间:
2015-12-29 21:04:23
阅读次数:
248
a180285幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成。喵星球上的老师会选择M个串来点名,每次读出一个串的时候,如果这个串是一个喵星人的姓或名的子串,那么这个喵星人就必须答到。然而,由于喵星人的字码过于...
分类:
编程语言 时间:
2015-05-05 15:47:13
阅读次数:
145
题意:
n,m
n个串
m个串
样例里面倒数第二行的you应该扔到下一行。
问m个串每个在前n个串中的几个出现过。
题解:
首先这道题跟
【BZOJ2754】【SCOI2012】喵星球上的点名
是一样的,只不过更卡时一点,或者说喵的数据太弱。
这道题虽然是后缀自动机,但是大体思路和
【BZOJ2434】【NOI2011】阿狸的打字机
AC自动机...
分类:
其他好文 时间:
2015-01-22 11:11:59
阅读次数:
305
题意:
那个输入中每个串先是一个长度然后才是串。
然后如果某猫姓名abcd·efgh,那么点名abc,bcd,fg等都是好使的,但是cde就不行。
然后输入姓名时格式为一行
a a个数,b b个数。
A表示姓,B表示名。
题解:
直接暴力枚举每个点名是哪些的子串,
然后我们发现可以用后缀数组来优化这个事情~~
时间复杂度是不准确的,也就是说可以被卡成TLE...
分类:
编程语言 时间:
2015-01-21 09:00:22
阅读次数:
187