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

怎么建立一个网站天津网站建设服务公司

怎么建立一个网站,天津网站建设服务公司,网上免费注册网站,wordpress 3.2 下载题目链接 \(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/282557/

相关文章:

  • php网站开发文档模板玖壹购网站是做啥子的
  • 海报模板网站有哪些小程序电商平台排名
  • 百度一下百度网站苏州优秀网站设计企业
  • 通信管理局网站备案cms网站建设的实训总结
  • 西安知名网站建设公司百度网页版微信
  • 单纯python能完成网站开发吗门户网站衰落的原因
  • 唐山微网站建设价格宁波外贸网站推广优化
  • 如何能把网站做的更大赤峰网站建设赤峰
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版网站设计是用ps做图吗
  • 长沙建设网站公司浙江网站建设上市公司
  • 成都艾邦视觉专业网站建设公司有内涵大气的公司名字
  • 制作学校网站编程基础知识大全
  • 建设银行网站买手机阿里云已备案域名购买
  • 12个优秀的平面设计素材网站wordpress 标题 拼音
  • 瑶海区网站建设公司上海app开发定制公司
  • 北海建设厅网站局域网的电脑怎么做网站服务器
  • 莱芜网站建设价格域名注册成功后怎么使用网站
  • 衡阳县建设局网站wordpress 图片缓存
  • 浙江门户网站建设公司新闻稿发布
  • 温州网站建设排名wordpress 汉化失败
  • 做数据可视化的网站推广类软文案例
  • 外包做网站的要求怎么写做网站 360
  • 温州网站建设价格技术微信公众号免费开通
  • 做网站推广销售怎么样辽宁省网站备案系统
  • html公司网站模板源码企业信息填报系统
  • 有口碑的赣州网站建设微信开放社区
  • 外贸网站做SEO电脑浏览器打不开网页是什么原因
  • 做网站需要下载啥google建站推广
  • 沈阳哪里有教做网站的会做网站怎么赚钱
  • iis如何做同时运行两个网站80端口做汽车网站费用