问题标题: 酷町堂:1526最长的降序序列改怎么写

0
0

0
已采纳
张曈
张曈
高级守护
高级守护

这题就是最长不下降子序列的变形啊

你会最长不下降子序列吗??

大体思路就是用一个b数组进行记录,核心如下:

for(int i=n;i>=1;i--){
        last=0;
        f[i]=1;
        b[i]=1;
        for(int j=i+1;j<=n;j++){
            if(a[i]>a[j]&&f[j]+1>f[i]){
                f[i]=f[j]+1;
                b[i]=b[j];
                last=j; 
            }
            if(a[i]>a[j]&&f[j]+1==f[i]&&a[last]!=a[j]){
                b[i]+=b[j];
                last=j;
            }
        }
        ans=max(ans,f[i]);
    }

豁免的统计代码你自己去写,我就不做赘述了

0
吕牧原
吕牧原
高级守护
高级守护

这题就是最长不下降子序列的变形啊

我要回答