摘要: 设dp[u][L]为当前在结点u,再走L步合法的概率。 如果当前结点不是单词结点,并不能判定该结点一定合法,还应该沿着失配边往回走,因为可能失配边往回走的过程中出现了不合法的,不过这里不需要专门往回走,只要看last就可以知道往回走的过程中是否有单词结点了。 都发现了这一点了,居然还是WA了。。。本 阅读全文
posted @ 2016-03-09 23:54 __560 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 手写了下AC自动机,真正理解了kmp之后手写AC自动机还是很简单的。。。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<queue> #defi 阅读全文
posted @ 2016-03-09 22:09 __560 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 不算很难的一个dp,一个错误的认识是只有DAG才能dp,当然只有DAG才能dp,但是这里的图有环,它却是DAG,因为有了其它维度(比如时间),那么不同时间的同一个点其实是两个不同的点。 #include<iostream> #include<cstdio> #include<cstring> #in 阅读全文
posted @ 2016-03-09 19:39 __560 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 并不是很难的一个构造,我在比赛的时候把题目读错了,补题的时候想得比较粗糙,迟迟没过这题,之后想法慢慢细致起来,还是将这题过了。 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algor 阅读全文
posted @ 2016-03-09 19:30 __560 阅读(218) 评论(0) 推荐(0) 编辑