AGC003E题解
首先要筛去无用操作,这我为啥想不到嘞 /kel 。
如果
然后考虑扩展的结果,就是把上一次的结果复制几遍然后再加上一些边角料。
边角料很难做啊,先考虑没有边角料该是什么情况,我们就把复制次数乘起来,得到
正着做怎么都处理不了这个边角料,我们考虑反着拆解。
我们的最终目标是把拆解成一大堆形如
我们不需要一步到位,于是我们从后往前枚举当前最大的模式串
考虑拆解后
这么做一次的复杂度是
所以我们就在这个过程中记录模式串
首先要筛去无用操作,这我为啥想不到嘞 /kel 。
如果
然后考虑扩展的结果,就是把上一次的结果复制几遍然后再加上一些边角料。
边角料很难做啊,先考虑没有边角料该是什么情况,我们就把复制次数乘起来,得到
正着做怎么都处理不了这个边角料,我们考虑反着拆解。
我们的最终目标是把拆解成一大堆形如
我们不需要一步到位,于是我们从后往前枚举当前最大的模式串
考虑拆解后
这么做一次的复杂度是
所以我们就在这个过程中记录模式串