1 条题解
-
0
思路
最大化权值和而非长度,严格上升,重复值不能串接。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; int main(){int n;cin>>n;vector<int>a(n);vector<long long>d(n);long long best=0;for(int &x:a)cin>>x;for(int i=0;i<n;i++){d[i]=a[i];for(int j=0;j<i;j++)if(a[j]<a[i])d[i]=max(d[i],d[j]+a[i]);best=max(best,d[i]);}cout<<best<<'\n';}
- 1