POJ-1952 最长下降子序列 + 方案数
来源:互联网 发布:qt高级编程 pdf 编辑:程序博客网 时间:2024/06/03 20:51
求最长下降子序列 简单 就是求方案数比较麻烦点 看了别人的解题报考才懂
也对最长**子序列的理解更深一步
#include<stdio.h>#include<string.h>#include<queue>using namespace std;const int maxn = 5005;int n;int price[maxn],len[maxn],count[maxn]; //len[i]记录到i最长下降序列数 count记录方案数int maxnum,max_count;int main(){//freopen("data.in","r",stdin);while( scanf("%d",&n) != EOF ){for( int i=0; i < n; i ++ )scanf("%d",&price[i] );maxnum = -1; for( int i = 0; i < n; i++ ) {count[i] = 1;len[i] = 1; //初始化for( int j=i-1; j>=0; j-- )//找出第i项与i-1项匹配出最长的下降序列{if( price[j] > price[i] ){if( len[j] + 1 > len[i] ){len[i] = len[j]+1;count[i] = count[j];}else if( ( len[j] + 1 ) == len[i] )//下降序列数相同 方案数相加count[i] += count[j];}else if( price[j] == price[i])//去重{if( len[i] == 1 )count[i]=0;break;}}if( len[i] > maxnum )//找出最长下降序列数maxnum = len[i];}max_count = 0;for( int i=0; i < n; i ++ )//统计方案数{if( len[i] == maxnum )max_count += count[i];}printf("%d %d\n",maxnum,max_count);}return 0;}
- POJ-1952 最长下降子序列 + 方案数
- poj 1952 BUY LOW, BUY LOWER 最长下降子序列+统计不重复方案数
- 最长下降子序列 + 最长的方案数
- Codevs 4748 低价购买 最长下降子序列方案数
- poj 1952 最长不下降子序列加最长串数
- (复习)poj 1952 最长下降子序列—— dp+方案个数
- POJ 1952(最长不下降子序列的个数)
- POJ 1952-最长下降子序列+去重
- poj 1887 最长下降子序列
- poj 1887 dp最长下降子序列
- poj-1836 最长上升/下降子序列
- 逢低吸纳(最长下降子序列+方案数+高精度)
- wust oj 1891 低价购买(最长下降子序列+方案数)【模板】
- 洛谷Oj-低价购买-最长下降子序列 +最佳方案数统计
- 最长下降子序列
- 最长下降子序列
- 最长下降子序列
- poj 1887Testing the CATCHER(最长下降子序列)
- dup and dup2的剖析
- jsp页面中使用<s:debug></s:debug>标签报错
- S3C2440驱动简析——DM9000网卡驱动(1)
- 高速缓冲行带来的数据对齐问题
- java的文件的组成形式
- POJ-1952 最长下降子序列 + 方案数
- c++中由于delete造成的悬垂指针
- git服务器环境搭建和客户端简单操作
- 时光荏苒,“恒”,字,需努力
- 初识Servlet
- 【DP】
- HDU1285 确定比赛名次 拓扑排序
- [字符串]字符串中的替换
- 婴幼儿出现脑外伤处理方式