[SDOI2016]游戏
摘要:description 一个长为
n的数列,每个初始为123456789123456789。 操作: 0 s t a b:s到t的链上每个点x跟dist(s,x)*a+b取min。 1 s t:求s到t的链上的min。 solution 李超+树链剖分 关键是想好树链剖分的李超线段树下标维护的是什
阅读全文
[BJOI2017]魔法咒语
摘要:descibtion 给你
n个元素串和m个诅咒串,问你能构造长度为
L的字符串的方案数,字符串由元素串拼接而成且不包含诅咒串。
n<=50,m<=50,元素串总长和诅咒串总长均<=100,L<=108 但是这是一道需要数据点分治的题,具体看下面的数据范围 Solution 前60pt
阅读全文
【AC自动机】背单词
摘要:题意: 0 s v:添加价值为v的字符串s 1 t:查询t中含的s的权值和。(不停位置算多次) 思路: 在线AC自动机。 同学用过一个妙妙子的分块算法。 这里用二进制分组:通常用作把在线数据结构问题转离线 即当前有n个串。然后按n的二进制分成(
<=log2n)个AC自动机分别维护答案。 e
阅读全文
[NOI2011]阿狸打字机
摘要:题意:一开始是个空串s,有三种操作:(1.末尾加一个字符 2.末尾减一个字符 3.存储该字符串) 思路: 一开始在trie树上动态加点很好处理,3操作的时候记录一下此时trie树上的pos,同时记录dep,fa后面有用。 建AC自动机,因为这道题的大致思路还是:y包含于x,则x的所有前缀(trie树
阅读全文
[TJOI2013]单词
摘要:题意:给n个字符串,问每个字符串在所有串里出现几次。 思路:判断一个整串与其它串之间的包含关系通常用AC自动机。fail树是我们想象中的树,但是它可以帮助我们更好的理解AC自动机。 1.fail树上的每个前缀都对应fail树里面的节点。通常节点存cnt[]表示有多少个串经过该点(即多少个前缀) 2.
阅读全文
[SDOI2014] 数数
摘要:题意:问有多少个<=n(
101201)的数满足下面所给的模式串没有在其中出现过 思路:首先一堆串没在构造的串中,套路就是AC自动机上dp,不经过cnt[]>0的点。 不过<=n怎么做呢?从n范围容易想到数位dp。 不过有一种更巧妙的方法: 首先位数<n,每位没有限制 (类似康托展开:每
阅读全文