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