CF1324B Yet Another Palindrome Problem 题解

博客介绍了如何解决CF1324B问题,该问题询问数组中是否存在长度大于等于3的回文子序列。通过讨论回文序列的性质,得出只需查找两个不相邻的相等元素即可构成长度为3的回文子序列。使用哈希表可以高效解决此问题,达到O(T×n)的时间复杂度和O(n)的空间复杂度。
摘要由CSDN通过智能技术生成

博客园同步

原题链接

CF 127个测试点,好评

简要题意:

多组数据,问数组中是否有长度 ≥ 3 \geq 3 3 的回文子序列。

我们需要找到本质。

题目不让我们求这个长度,只让我们判断,这是为什么呢?

如果答案是 YES,那么必然存在一个长度为 3 3 3 的回文子序列。否则为 NO.

你想,如果原数组的最长回文序列是奇数的话,只要每次在两边同时删去一个,就可以得到长度为 3 3 3 的回文子序列。

如果是偶数,只要每次在两边同时删去一个,再在最中间两个任意删去一个,也可以得到长度为 3 3 3 的回文子序列。

反之如果没有,则就没有了。

比方说:

10
1 2 3 4 2 1 4 2 4 3

你发现这个数组的最长回文子序列为:

3 4 2 2 4 3

是偶数,那么其中必然存在一个长度为 3 3 3 的是:

4 2 4

(当然不止一种)

所以,题意改为:

判断一个数组中是否有长度为 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值