给出一些词根,问你有多少种长度为L的串包含至少一个词根。去年就在敲这个题了,今年才敲出来,还是内牛满面之中。。。要求包含至少一个的情况,需要求出所有的情况,减去一个都没有的情况就可以了。对于给出的词根,上自动机。然后我们根据tire图可以得出关系状态转移的矩阵。显然就是矩阵求和了,通过二分幂解决即可...
分类:
其他好文 时间:
2014-07-27 10:34:52
阅读次数:
268
http://poj.org/problem?id=2778
有空再重新做下,对状态图的理解很重要
题解:
http://blog.csdn.net/morgan_xww/article/details/7834801
另外做了矩阵幂的模板:
//ac.sz是矩阵的大小
void mulmtr(long long x[MAXNODE][MAXNODE],long long y...
分类:
其他好文 时间:
2014-07-26 02:31:46
阅读次数:
239
http://acm.hdu.edu.cn/showproblem.php?pid=3065
刘汝佳的模板真的很好用,这道题直接过
学到:
cnt数组记录单词出现次数
以及map存储单词编号与字符串,便于处理相关信息
上代码:
#include
#include
#include
#include
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-07-23 13:34:46
阅读次数:
167
http://acm.hdu.edu.cn/showproblem.php?pid=2896
对于hdu oj...发现如果数组越界,还有数组下标为负数 ,可能返回的Judge结果都是WA而不是RE。。。这道题WA了几次,因为
inline int idx(char c) {
//return c-'a'; //这里一定小心,如果没有给定字符范围的话,直接re...
分类:
其他好文 时间:
2014-07-22 23:55:57
阅读次数:
236
模板--参考刘汝佳训练指南
/*===============================*按照训练指南写的
\*===============================*/
#include
#include
#include
#include
#include
using namespace std;
const int SIGMA_SIZE = 26;
const int...
分类:
其他好文 时间:
2014-07-22 23:54:27
阅读次数:
351
*我真的不会 ruby 呀*
#encoding:utf-8
#==============================================================================
# ■ Suffix_Automaton
#----------------------------------------------------------...
分类:
其他好文 时间:
2014-07-22 23:51:59
阅读次数:
293
没错,就是AC自动机!(可惜不像金坷垃那样~)不多说,放上模板,不难理解的。#include #include #include #define for1(i,a,n) for(i=a;i=a;--i)#define for4(i,a,n) for(i=n;i>a;--i)#define CC(i,...
分类:
其他好文 时间:
2014-07-22 00:04:35
阅读次数:
182
*在学习后缀自动机之前需要熟练掌握WA自动机、RE自动机与TLE自动机*
什么是后缀自动机
后缀自动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂度构造,能够接受一个字符串所有后缀的自动机。
它最早在陈立杰的 2012 年 noi 冬令营讲稿中提到。
在2013年的一场多校联合训练中,陈立杰出的 hdu 4622 可以用 SAM 轻松水过,由此 S...
分类:
其他好文 时间:
2014-07-20 23:02:47
阅读次数:
406
病毒侵袭Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10478Accepted Submission(s): 2724Problem Descr...
分类:
其他好文 时间:
2014-07-19 09:17:54
阅读次数:
410
题意:
给你一串编码后的单词和一篇文章 问 编码前文章中出现了几个单词
思路:
根据题意反编码 然后AC自动机跑一下
转化字符时候注意长度 因为可能转换出'\0' 所以转完后再求strlen会出错
注意 ZOJ的char默认是signed char 所以转码后要么存在unsigned char数组里 要么用int数组存 否则会错的!! 因为signed char无法表示128+的数字!!...
分类:
其他好文 时间:
2014-07-19 02:26:26
阅读次数:
236