poj1952 BUY LOW, BUY LOWER
2013-05-07 11:03
393 查看
求不重复个数好难
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int a[5005],f[5005],count[5005]; int main(){ int n; int i,j; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++){ count[i]=1; f[i]=1; } for(i=0;i<n;i++) scanf("%d",&a[i]); int maxi=-1; for(i=0;i<n;i++){ for(j=i-1;j>=0;j--){ if(a[j]>a[i]){ if(f[j]+1>f[i]){ f[i]=f[j]+1; count[i]=count[j]; } else if(f[j]+1==f[i]) count[i]+=count[j]; } else{ if(a[j]==a[i]){ if(f[i]==1) count[i]=0; break; } } } if(f[i]>maxi) maxi=f[i]; } int maxcount=0; for(i=0;i<n;i++) if(f[i]==maxi) maxcount+=count[i]; printf("%d %d\n",maxi,maxcount); } return 0; }
相关文章推荐
- poj 1952 BUY LOW, BUY LOWER【解法一】
- POJ 1952 BUY LOW, BUY LOWER 笔记
- POJ 1952 BUY LOW, BUY LOWER 动态规划题解
- poj1952 BUY LOW, BUY LOWER(最长递减子序列及个数)
- POJ 1952 BUY LOW, BUY LOWER
- POJ 1952 BUY LOW, BUY LOWER
- POJ 1952 BUY LOW, BUY LOWER
- POJ 1952 BUY LOW, BUY LOWER
- poj 1952 BUY LOW, BUY LOWER 最长下降子序列计数
- POJ-1952 BUY LOW, BUY LOWER(线性DP)
- POJ 1952 Buy Low,Buy Lower
- POJ - 1952 BUY LOW, BUY LOWER(最长下降子序列,计数)
- POJ-1952 BUY LOW, BUY LOWER(线性DP)
- POJ 1952 BUY LOW,BUY LOWER 最长递减子序列 动态规划
- poj 1952 Buy low, buy lower
- poj 1952 BUY LOW, BUY LOWER
- POJ 1952 BUY LOW, BUY LOWER
- poj 1952 BUY LOW, BUY LOWER[最长单调子序列变形]
- poj1952(BUY LOW,BUY LOWER)(dp记录方案个数)
- poj 1952 BUY LOW, BUY LOWER