T392385 丰秋
题目背景
秋天到了,小 Q 正在吃糖 0-1 串。
题目描述
给定一个长度为 $n$ 的 0-1 串 $s_0s_1s_2\cdots s_{n-1}$,你需要通过不超过 $L$(在数据范围中给定的参数)次操作将其变为目标串 $t_0t_1t_2\cdots t_{n-1}$。
操作具体如下:
- 你需要首先给出一个整数 $0\le k\le L$。**注意此处并没有要求 $\bm {k\le n}$。**
- 如果 $k>0$,接下来 $k$ 次,第 $i$ 次操作你需要给出一个整数 $p\in[0,n-1]$,并依次将 $s_{p},s_{(p+1)\bmod n},s_{(p+2)\bmod n},s_{(p+3)\bmod n},\cdots,s_{(p+i-1)\bmod n}$(即从位置 $p$ 开始的一个长度为 $i$ 的区间,注意在 $i>n$ 时会循环地重复覆盖一些位置,此时操作会抵消)异或 $1$($1$ 变 $0$,$0$ 变 $1$)。
请你构造一个合法的操作,或报告不存在可以在 $L$ 次内完成要求的操作方案。
输入格式
第一行两个整数 $n$ 和 $L$。
第二、三行各一个长度为 $n$ 的 0-1 串,分别表示 $s,t$。
输出格式
如果无解,输出 $-1$;
否则,第一行输出整数 $k$,接下来一行,输出 $k$ 个整数,用空格隔开,第 $i$ 个整数 $p_i$,表示第 $i$ 次操作的位置。你需要保证 $0\le k \le L$,并且 $0\le p_i
说明/提示
**【样例 $\bm1$ 解释】**
操作一次,将 $s_0$ 异或 $1$,得到 $s=t=\texttt{11}$,符合要求。
除此之外,操作两次,分别将 $s_1$ 和 $s_0,s_1$ 异或,同样符合要求。
注意样例仅用来理解题意,不一定满足数据规模约束。
**【数据规模】**
| $n$ | $L$ | 子任务编号 | 分数 |
|:-:|:-:|:-:|:-:|
| $\le 5$ | $=400$ | $0$ | $15$ |
| $\le 9999$ | $=5\times 10^5$ | $1$ | $5$ |
| $\le 9999$ | $=10^4+1$ | $2$ | $15$ |
| $\le 9999$ | $=9999$ | $3$ | $5$ |
| $\le 99999$ | $=5\times 10^5$ | $4$ | $5$ |
| $\le 99999$ | $=2\times 10^5$ | $5$ | $10$ |
| $\le 99999$ | $=10^5+1$ | $6$ | $10$ |
| $\le 99999$ | $=10^5$ | $7$ | $20$ |
| $\le 99999$ | $=99999$ | $8$ | $15$ |
对于所有数据,$n\le99999,1\le n\le L \le 5\times 10^5$,$s$ 和 $t$ 仅由 $0$ 和 $1$ 构成。
**【提示】**
请自行对拍。