luogu P1108 低价购买
2018-02-10 21:15
190 查看
题目链接
luogu P1108 低价购买题解
朴素n^2dp,对于方案的转移利用加法原理,dp每一种最有解的方案代码
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; const int maxn = 60007; int f[maxn],c[maxn],a[maxn]; int cnt=0; int n; int main() { scanf("%d",&n); int i,j; for(i=1;i<=n;i++) scanf("%d",a+i); int ans=0; for(int i=1;i<=n;++i) { f[i]=1; for(int j=1;j<i;++j) { if(a[i]<a[j]) f[i]=max(f[i],f[j]+1); ans=std::max(ans,f[i]); } } for(int i=1;i<=n;++i) { if(f[i]==1)c[i]=1; for(int j=1;j<i;++j) { if(f[i]==f[j]&&a[i]==a[j])c[j]=0; else if(f[j]+1==f[i]&&a[i]<a[j])c[i]+=c[j]; } } int cnt=0; for(int i=1;i<=n;++i) { if(f[i]==ans)cnt+=c[i]; } std::cout<<ans<<" "<<cnt<<std::endl; return 0; } /* 12 68 69 54 64 68 64 70 67 78 62 98 87 */
相关文章推荐
- 【20171026】Luogu P1108 低价购买
- 洛谷1108 低价购买
- 洛谷P1108 低价购买[DP | LIS方案数]
- 低价购买
- 低价购买
- 洛谷 P1108 低价购买
- 洛谷 P1108 低价购买
- 洛谷P1108 低价购买
- 姚洋:建议国家购买三四线空置房 再低价出售给进城农民
- 洛谷OJ - P1108 - 低价购买(LIS+方案数)
- 低价购买
- [洛谷1108]低价购买
- rqnoj 456 低价购买
- 【洛谷P1108】 低价购买[LIS方案数]
- P1108 低价购买dp
- 洛谷P1108 低价购买题解
- 低价购买
- 洛谷 P1108 低价购买
- <序列DP>codevs 4748 低价购买
- 洛谷 P1108 低价购买