接下来有一个非常有想象力的操作,考虑把长度为 2 的区间 i 变成一条 i\leftrightarrow i+1 的无向边,长度为 4 的则变成两条。走过一条无向边相当于把最左侧从起点变为终点。那么我们实际上就是要从 a 中最左侧的区间走一条欧拉路径到 b 中最左侧的区间。对于欧拉路径的判定,我们只需要记录第 1 个区间到第 i 个区间的连通性,第 i 个区间度数的奇偶性即可。
于是我们可以写出一个 dp,dp_{k,l,r,0/1/2,0/1,0/1} 表示已经确定 b_{1\sim k} 对应到 a_{l\sim r},现在 b_{k+1} 已经连的边数,是否经过 a' 的最左侧,现在 1 和 k+1 是否联通。注意 a' 是 a 进行一些操作使得不存在跨过 n\to 1 区间的新序列,所以需要对一开始跨过 n\to 1 的区间进行一些特殊的处理。