其实不算难的一道题,但憋了我好久,嗯,很爽。

#include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
int n;
int a[5010],dp[5010],s[5010];
void solve()
{
s[0]=1;
int maxn=0;
for(int i=0;i<n;i++)
{
dp[i]=1;
s[i]=1;
for(int j=0;j<i;j++)
{
if(a[j]>a[i])
{
int b=dp[i];
dp[i]=max(dp[i],dp[j]+1);
if(dp[i]==dp[j]+1&&dp[i]!=b)
{if(s[j]==0)
s[i]=0;
else s[i]=s[j];
}
if(dp[i]==dp[j]+1&&dp[i]==b)
{s[i]+=s[j];
//cout<<i<<s[i]<<j<<endl;
}
}
if(a[j]==a[i])
s[j]=0;
}
maxn=max(maxn,dp[i]);
}
//for(int i=0;i<n;i++)
//cout<<dp[i]<<s[i]<<endl;
int sum=0;
for(int i=0;i<n;i++)
if(dp[i]==maxn)
sum+=s[i];
cout<<maxn<<" "<<sum<<endl;
}
int main()
{
while(cin>>n)
{
memset(dp,0,sizeof(dp));
memset(s,0,sizeof(s));
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
solve();
}
return 0;
}

poj_1952最大下降子序列,统计个数的更多相关文章

  1. 低价购买 (动态规划,变种最长下降子序列(LIS))

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  2. 【最长下降子序列的长度和个数】 poj 1952

    转自http://blog.csdn.net/zhang360896270/article/details/6701589 这题要求最长下降子序列的长度和个数,我们可以增加数组maxlen[size] ...

  3. JDOJ 1946 求最长不下降子序列个数

    Description 设有一个整数的序列:b1,b2,…,bn,对于下标i1<i2<…<im,若有bi1≤bi2≤…≤bim 则称存在一个长度为m的不下降序列. 现在有n个数,请你 ...

  4. BUY LOW, BUY LOWER_最长下降子序列

    Description The advice to "buy low" is half the formula to success in the bovine stock mar ...

  5. tyvj 1049 最长不下降子序列 n^2/nlogn

    P1049 最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 ...

  6. 最长不下降子序列//序列dp

    最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 最长不下降 ...

  7. 【tyvj】P1049 最长不下降子序列

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数 第二行n个数 输出格式 最长不下降子序列的长度 测 ...

  8. 最长不下降子序列nlogn算法详解

    今天花了很长时间终于弄懂了这个算法……毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习. 解决的问题:给定一个序列,求最长不下降子 ...

  9. SPOJ 3943 - Nested Dolls 最长不下降子序列LIS(二分写法)

    现在n(<=20000)个俄罗斯套娃,每个都有宽度wi和高度hi(均小于10000),要求w1<w2并且h1<h2的时候才可以合并,问最少能剩几个. [LIS]乍一看跟[这题]类似, ...

随机推荐

  1. DB-MySQL:MySQL 事务

    ylbtech-DB-MySQL:MySQL 事务 1.返回顶部 1. MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人 ...

  2. SYN-Flood防御方法之一Synproxy

    SYN-Flood攻击: 攻击者发送大量的SYN给服务器. 服务器必须针对每一个SYN请求回送一个SYN-ACK 应答包,此时服务器就必须保持一条半开放的连接,直到接收到一个对应的ACK应答包为止. ...

  3. 8.MATLAB数据分析

    概述: clc; clear all; p1=[ ]; y=poly2sym(p1) %由向量创建多项式 disp(y) %显示多项式 1 多项式的求值与求根 clc; clear all; p=[ ...

  4. SQL语句之Insert

    插入常见的3种形式: 单条插入, 批量插入, 返回刚插入行的id http://www.cnblogs.com/yezhenhan/archive/2011/08/17/2142948.html

  5. Redis学习笔记(十二) 高级命令:服务器管理命令

    原文链接:http://doc.redisfans.com/server/index.html save 执行一个同步操作,将redis实例的所有数据以rdb的形式保存到硬盘,一般来说,生产环境很少执 ...

  6. FFmpeg 移植 Android

    近期项目需要解析苹果的HLS流媒体协议,而FFmpeg从0.11.1“Happiness”版本开始,才增加了对HLS协议的支持.目前网上关于FFmpeg编译移植的文章有很多,但大多都是对旧版本的说明. ...

  7. C# 实现透明可移动窗体

    1.设置窗体属性 this.BackColor this.TransparencyKey = this.BackColor; 2.窗体加载图片 this.BackgroundImage = globa ...

  8. SQL Server 内存使用情况

    • 查看设置的最大与最小内存: exec sp_configure 'max server memory (MB)' exec sp_configure 'min server memory (MB) ...

  9. vs的任务列表

    前几天才刚开始看到这个 很多时候,一些任务,怕忘记了,或者已经做好的东西,由于各种原因,暂时不用等等这种情况 这时候,就可以在vs上,随时加到任务列表中,方面下次直接来修改或实现等等 在vs的视图&g ...

  10. UWP 读取XML文件

    一.读取本地XML文件时要将xxx.xml文件的“生成操作”改为“嵌入的资源”会比较好,在手机上运行的话需要改为“内容” <?xml version="1.0" encodi ...