这道题目其实是样例给我的启示。。我看到\(3\)的结果是\(8\),就猜想可以把所有的长度为\(k\)的\(01\)串都加进来
所以我们先写出所有\(01\)串,那么再看一下样例,会发现第一个串是\(000\),于是乎猜想起点都是全\(0\)串
那么全\(0\)串的下面一个可以接什么呢?显然可以接\(00\)...\(01\)
那再下面可以接什么呢?就是去掉第一个\(0\),然后在末尾加上\(0\)或\(1\)
到了这里就比较明显了,你会发现可以建图了
然而如果直接将每个字符串当成节点建图的话,是求哈密顿环,是NP-hard的
然而不重不漏,我们还想到什么?欧拉图
所以我们把每个\(01\)串当成边,那么点是什么?由我们以上的分析,不难发现是边去掉两端形成的\(01\)串
不难分析得到这个图是存在欧拉回路的