摘要: II.[HAOI2010]计数 我不得不吐槽出题人的语文实在太……那个了。 翻译一下:给你一个数,求它是全排列中第几个。 为什么呢?我们看一下给定的那个${1,2}$的例子。显然,在任何合法的数中,所有的非零数的出现次数,在每个数中都是相同的。如果我们允许前导零,那么所有的$0$的出现次数也都相同了 阅读全文
posted @ 2021-03-30 14:46 Troverld 阅读(44) 评论(0) 推荐(0)
摘要: I.[JSOI2010]快递服务 我们约定共有$n$个地点,依次登记了$m$家公司。 思路1. 设$f[l][i][j][k]$表示:当前某一个司机在第$i$家公司(注意是公司!$1000$家那个!),第二个司机在第$j$家,第三个司机在第$k$家,当前我们遍历到了第$l$家公司。依次转移即可。 复 阅读全文
posted @ 2021-03-30 14:43 Troverld 阅读(53) 评论(0) 推荐(0)
摘要: XII.[CFGYM100221C]Forbidden Subwords ”双向无限“之类东西太抽象了,我们不妨从简单点的地方考虑。比如说,有限串。 一个有限串中没有出现任何禁忌串的充要条件是什么?沿着AC自动机上边走时没有碰到任何结束点。 现在,我们考虑一个右侧无限的串(即有一个明确开头,但另一端 阅读全文
posted @ 2021-03-30 14:42 Troverld 阅读(72) 评论(0) 推荐(0)
摘要: XI.CF1437G Death DBMS 考虑建出AC自动机,然后在上面跑询问串。于是问题转为单点修改,路径求 \(\max\),无脑上树剖在$fail$树上维护即可。 注意到会有相同的串,那就在每个节点上一个multiset维护最大值即可。 复杂度 \(O(n\log^2n)\)。 代码: #i 阅读全文
posted @ 2021-03-30 14:40 Troverld 阅读(57) 评论(0) 推荐(0)
摘要: X.[ICPC2019 WF]First of Her Name 这题的一种解法是把所有东西(名字串和翻转的询问串)建出一棵树来,然后跑树上后缀排序,用二分+哈希求出$height$数组,然后使用单调栈找出每个位置最多能够向左向右延伸多远。但是按照某人的说法出题人好像出了卡此算法的数据,所以最后WA 阅读全文
posted @ 2021-03-30 14:38 Troverld 阅读(140) 评论(0) 推荐(0)
摘要: IX.[BJWC2011]禁忌 老套路,建出AC自动机,并求出每个节点的$ok$。 之后呢? 考虑dp。 令$f_{i,j}$表示在一个长度为$i$的串,当前在点$j$的可能性。 则有: 对于任意$k\in [0,alphabet)$, 如果$t[t[j].ch[k]].ok$为$true$,那么$ 阅读全文
posted @ 2021-03-30 14:34 Troverld 阅读(76) 评论(0) 推荐(0)
摘要: "[SDOI2014]数数" 这题是AC自动机与各种dp相结合的范例。 首先,按照套路,我们建出~~自动AC机~~。然后,因为是$\le N$的所有数的总数,很容易想到 数位dp (实际上它如果是在$L,R$之间所有数的总数则更明显)。 令$f_{x,len,lim}$表示: 在自动机上$x$号节点 阅读全文
posted @ 2020-04-26 17:42 Troverld 阅读(139) 评论(0) 推荐(0)
摘要: "CF GYM101741K. Consistent Occurrences" 题意:给你一个长度为$n$的串$s$,以及$m$次询问,每次给出一个串$t$,询问$t$在$s$中最多出现了多少次(出现不能重叠)。 联想到前一题,我们可以将询问建树。 我们可以自然地想到,当匹配成功后,直接跳回根节点( 阅读全文
posted @ 2020-04-26 17:41 Troverld 阅读(148) 评论(0) 推荐(0)
摘要: "[JSOI2012]玄武密码" 一开始千方百计地想要对那个“母串”进行什么处理,最后也没有想出点什么。 后来发现这道题有点误导性,它没有说是“模式串”,而说是“询问”,因此就比较恶心。 闲话少说,这题正解是将“询问”离线建~~自动AC机~~,然后将“母串”丢进去匹配。(就是最模板的操作) 最后将“ 阅读全文
posted @ 2020-04-26 17:39 Troverld 阅读(111) 评论(0) 推荐(0)
摘要: "[POI2000]病毒" 只要前面那道文本生成器会的话,这题应该很简单了。 建树方法一模一样,甚至连求$ok$都一模一样。 之后采取dfs爆搜答案。 从根开始,只走$ok=true$的儿子,如果走出一个环,那就有合法串(把环的部分提取出来,在任意地方断环成链,再复制粘贴无数遍,就是一个合法的无限长 阅读全文
posted @ 2020-04-26 17:38 Troverld 阅读(115) 评论(0) 推荐(0)