题面
https://ac.nowcoder.com/acm/contest/11290/F
从S的生成过程研究递推关系
如果s为空,那么s="0".
如果s不为空,就在ss后面再添加s这个序列。s表示将s序列中的0变为1,1变为0.
很显然,当我们已知 1 ~ 2n 的序列时,
我们可以通过取反获得 (2n + 1) ~
2n+1 的序列, 也就是说第 2n +
k 项实际上可以通过对第 k 项取反得到.
于是我们就得到了递推关系, 那么我们需要做什么呢? 假设我们需要求第
p 项, 而 p = 2n + k ,
我们需要做的就是求第 k 项并取反, 对 k
重复上述步骤. 于是递归就写出来了, 下面考虑递归的边界条件, 很显然,
只要考虑第一项和第二项就可以了(不会求就去吟诗啊, 苟...).