[codevs4748]低价购买
2017-10-09 11:32
190 查看
题目←
大意:
求最长不上升子序列及方案数
题解在Loi_lxt 的博客里写的很清楚了
大意:
求最长不上升子序列及方案数
#include<iostream> #include<cstdio> #include<algorithm> #include<map> #define INF 1061109567 using namespace std; const int MAXN = 5000 + 50; int f[MAXN],g[MAXN],h[MAXN],n; int ans,sum; map <int,bool> vis; int main() { scanf("%d",&n); for(int i = 1;i <= n;i ++) { scanf("%d",&h[i]); } h[++ n] = -INF; for(int i = 1;i <= n;i ++) { f[i] = 1; for(int j = 1;j < i;j ++) if(h[j] > h[i]) { f[i] = max(f[i],f[j] + 1); } ans = max(ans,f[i]); } g[1] = 1; for(int i = 1;i <= n;i ++) { vis.erase(vis.begin(),vis.end()); for(int j = i - 1;j >= 1;j --) { if(h[j] > h[i] && f[j] == f[i] - 1) { //if(i == 10)printf("%d\n",j); if(vis[h[j]])continue; g[i] += g[j]; vis[h[j]] = true; } } if(!g[i])g[i] = 1; } printf("%d %d",ans - 1,g ); return 0; }
题解在Loi_lxt 的博客里写的很清楚了
相关文章推荐
- 由于业务发展,开始购买物理服务器,原来的vps低价扔了
- 低价购买
- 洛谷P1108 低价购买
- 【USACO 2002 February】BUY LOW,BUY LOWER 低价购买
- [P1108]低价购买
- 低价购买
- 洛谷1108 低价购买
- 洛谷P1108 低价购买[DP | LIS方案数]
- 低价购买
- 低价购买
- 洛谷 P1108 低价购买
- 洛谷P1108 低价购买
- 姚洋:建议国家购买三四线空置房 再低价出售给进城农民
- 洛谷OJ - P1108 - 低价购买(LIS+方案数)
- 低价购买
- rqnoj 456 低价购买
- 【洛谷P1108】 低价购买[LIS方案数]
- P1108 低价购买dp
- [洛谷1108]低价购买
- 洛谷 P1108 低价购买