当前位置: 首页 > news >正文

柳州网站开发专业团队原图

柳州网站开发,专业团队原图,舟山seo网络优化招聘,wordpress兑换卡密题目链接 \(Description\) 给定n个模式串#xff0c;多次询问一个串在多少个模式串中出现过。(字符集为26个小写字母) \(Solution\) 对每个询问串进行匹配最终会达到一个节点#xff0c;我们需要得到这个节点所代表的子串出现在多少个模式串中。 建立广义后缀自动机。每次插入… 题目链接 \(Description\) 给定n个模式串多次询问一个串在多少个模式串中出现过。(字符集为26个小写字母) \(Solution\) 对每个询问串进行匹配最终会达到一个节点我们需要得到这个节点所代表的子串出现在多少个模式串中。 建立广义后缀自动机。每次插入一个串从root开始对于SAM上每个节点维护cnt和bef分别表示该节点代表的串出现在几个模式串中 和 该节点最近被哪个模式串更新过cnt。 对于bef[i]!now的节点cnt[i],bef[i]now当模式串now下次匹配到当前节点时则不再更新。 另外如果匹配了当前节点i那么一定会匹配上fa[i],fa[fa[i]]...如果它们的bef[]!now则都更新一遍。直到有个节点p满足bef[p]now那么就不需要再向上更新了再往上已经更新过了。(这个在insert后用np更新就可以啊) 这个暴力跳的复杂度可能是\(O(n\sqrt n)\)的但是很难卡满广义SAM上一个点暴力跳fa的次数是\(O(\sqrt n)\)的具体见这里。 有一种离线DFS序树状数组的做法可以做到\(\log n\)。注意广义SAM应该要像这题那么建 但事实上这题还有个剪枝bef[np]now广义SAM上情况比较复杂我也不知道真正的复杂度是啥。。 注意新建nq时 bef[nq],cnt[nq]也要复制(...[q])。 //24612kb 76ms #include cstdio #include cstring #include algorithm #define gc() getchar() const int N2e55;struct Suffix_Automaton {int las,tot,fa[N],son[N][26],len[N],cnt[N],bef[N];char s[360005];void Init(){lastot1;}void Insert(int now,int c){int plas,nptot; len[lasnp]len[p]1;for(; p!son[p][c]; pfa[p]) son[p][c]np;if(!p) fa[np]1;else{int qson[p][c];if(len[q]len[p]1) fa[np]q;else{int nqtot;len[nq]len[p]1, bef[nq]bef[q], cnt[nq]cnt[q];//!memcpy(son[nq],son[q],sizeof son[q]);fa[nq]fa[q], fa[q]fa[np]nq;for(; son[p][c]q; pfa[p]) son[p][c]nq;}}for(; bef[np]!nownp; npfa[np])cnt[np], bef[np]now;}void Build(int now){las1, scanf(%s,s);for(int i0,lstrlen(s); il; i)Insert(now,s[i]-a);}void Query(){int p1; scanf(%s,s);for(int i0,lstrlen(s); ilp; i)pson[p][s[i]-a];printf(%d\n,cnt[p]);} }sam;int main() {int n,Q; scanf(%d%d,n,Q); sam.Init();for(int i1; in; i) sam.Build(i);while(Q--) sam.Query();return 0; } 转载于:https://www.cnblogs.com/SovietPower/p/9240586.html
http://www.pierceye.com/news/189025/

相关文章:

  • 一站式织梦网站模板工信部备案查询网官网
  • 网站导航做外链桂林seo
  • 青岛网站建设q479185700棒软件开发者是指
  • 福永公司网站建设空间网站链接怎么做
  • 百度的企业网站谷歌浏览器下载安卓版
  • 网站建设总体情况网站设计宁波
  • 西宁做网站_君博示范360建筑网会员
  • 做DJ网站违法吗汕头seo网站推广
  • 上海网站建设网站宁波网站模板哪家性价比高
  • 珠海专业做网站制作做网站网站的代理算网站罪吗
  • 建设局网站简介通信建设网站
  • php做网站用什么开发工具大专软件技术工资一般多少
  • 网站建设服务承诺wordpress 博客园
  • seo综合查询站长工具关键词全网营销案例
  • 深圳专业做网站设计政务服务网站建设性建议
  • 做暧免费观看网站哪个网站可以给图片做链接
  • wordpress最好的主题东莞债务优化
  • 全国网站建设大赛网店网站设计
  • 学网站建设需要学多久wordpress火车头插件
  • wordpress 网站实例中国纪检监察报app下载
  • 网站链接dw怎么做营销推广方法
  • 觅知网 大而全的高质量素材站开发手机网站用什么好
  • 建设一个广告联盟的网站医院网站设计与实现
  • 公司网站备案必须是企业信息么网站搭建好有什么内容可以修改
  • 弄网站赚钱吗电影网站怎么做要多少钱
  • 做优化网站能以量取胜么好素材网站
  • wordpress主题网站江苏建设工程教育网
  • 网站制作 客户刁难做宠物网站赚钱吗
  • 网站突然不收录了如何形容一个网站做的好
  • 怎么建网站教程视频做网站跟推广哪家公司好