朴素DP10pts求条
  • 板块P11187 配对序列
  • 楼主_xdd_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/14 20:05
  • 上次更新2024/10/14 21:20:46
查看原帖
朴素DP10pts求条
780312
_xdd_楼主2024/10/14 20:05

RT,朴素DP详看题解,省流:期望25pts实际10pts,转移方程:如果 ai=aja_i=a_jajaka_j\ne a_kfi=max(fi,fk+2)f_i=\max(f_i,f_k+2)

#include<iostream>
using namespace std;
int f[500005],a[500005],n;
int main(){
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> a[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=i-1;j>=1;j--){
            for(int k=j;k>=1;k--){
                if((a[i]==a[j] && a[j]!=a[k]) || k==1){
                    f[i]=max(f[i],f[k]+2);
                }
            }
        }
    }
    /*for(int i=1;i<=n;i++){
        cout << f[i] << ' ';
    }
    cout << endl;*/
    cout << f[n];
    return 0;
}
2024/10/14 20:05
加载中...