记录一下学习马拉车算法的一些心得

马拉车算法相关的博客很多,笔者就不多赘述,感兴趣的可以看看这篇,笔者是观看这篇博客进行学习的。马拉车算法详解, C++代码实现_c++马拉车-CSDN博客

这篇博客主要是想记录几个当时没想通后来解决了的问题。

第一个,这篇博客提到了i在pos和right之间的情况,以及i大于right的情况,笔者的疑惑是,pos和left之间的情况呢?不需要考虑吗?后来想通了扇了自己一巴掌。i的遍历是递增的,pos的值都是之前遍历过的i值中的一个,i不可能小于pos,我是个傻x。

第二个,就是2*pos-i这个位置回文串的左边界小于left,那i的dp值为什么是right-i,为什么不能继续扩张呢,想通了才发现,要是能扩张,那right值咋可能是现在的值,肯定更大了啊,因为left左边和right右边有相等的(i和2*pos-i之间的对称性)。

小小的一点理解偏差以及解释,希望能对大家有帮助。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值