注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一个蒟蒻的代码回收站

最后一次省选求rp

 
 
 

日志

 
 

bzoj3574【HNOI2014】抄卡组解题报告  

2014-05-16 21:17:00|  分类: bzoj |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

题目链接

这题我们可以把串分为有*和没有*的。对于没有*的显然只可能有一个串(有两个及以上的话,暴力(or hash)判是否一样)

对于有*的我们可以大约的表示成为A*B*C的形式(A,B,C代表任意个字符(包括0个)A*C的可以变成A**C)。

然后对于两个带有*的我们只要比较A和C是不是一样就行了。

比如说对于ab*a*cd和a*a*d,我们只要比较a和a,d和d……(似乎不是很形象?)

对于有*和无*的匹配,我们需要按照*把字符串截成一段一段的。然后用kmp(or hash)每次匹配最前面的一个,可以证明这样是最优的。

由于每个串只会被匹配一次,所以复杂度是O(n*maxlen)

数据有点坑,第9个点有一些是10W个空串= =!

代码:


#include<cstdio>
  评论这张
 
阅读(4)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017