回文子序列

Posted Treasure_lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回文子序列相关的知识,希望对你有一定的参考价值。

回文子序列

AcWing 3697
https://www.acwing.com/problem/content/3700/
注意是子序列 不是子串

代码

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 5050;

int T,n;
int a[N];


int main()
{
    cin >> T;
    
    while (T--)
    {
        cin >> n;
        for (int i = 1; i <= n; i ++ )
        {
            cin >> a[i];
        }
        
        
        int flag = false;
        for (int i = 1; i <= n ; i ++ )
        {
            for (int j = n; j > i; j -- )
            {
                
                if (a[i] == a[j])
                {
                    if (j - i + 1 >= 3)
                    {
                        flag = true;
                        break;
                    }
                }

            }
        }
            
        if (flag) cout << "YES" << endl;
        else cout << "NO" << endl;;
            
    }
    return 0;
}

以上是关于回文子序列的主要内容,如果未能解决你的问题,请参考以下文章

Java 求解最长回文子序列

hdu4632 回文子序列

516. 最长回文子序列(Python)

最长回文子序列(不连续)以及最长回文子串(连续)

算法 ---- 子序列系列问题题解(子序列编辑距离回文系列问题)

算法 ---- 子序列系列问题题解(子序列编辑距离回文系列问题)