太鼓达人

文章探讨了如何通过构建图理论中的欧拉图来解决将所有长度为k的01串进行扩展的问题,指出直接转化为哈密顿环是NP-hard,而通过将01串作为边,去掉两端的01形成新的节点,可以确保存在欧拉回路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这道题目其实是样例给我的启示。。我看到\(3\)的结果是\(8\),就猜想可以把所有的长度为\(k\)\(01\)串都加进来

所以我们先写出所有\(01\)串,那么再看一下样例,会发现第一个串是\(000\),于是乎猜想起点都是全\(0\)

那么全\(0\)串的下面一个可以接什么呢?显然可以接\(00\)...\(01\)

那再下面可以接什么呢?就是去掉第一个\(0\),然后在末尾加上\(0\)\(1\)

到了这里就比较明显了,你会发现可以建图了

然而如果直接将每个字符串当成节点建图的话,是求哈密顿环,是NP-hard的

然而不重不漏,我们还想到什么?欧拉图

所以我们把每个\(01\)串当成边,那么点是什么?由我们以上的分析,不难发现是边去掉两端形成的\(01\)

不难分析得到这个图是存在欧拉回路的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值