poj_1952最大下降子序列,统计个数
其实不算难的一道题,但憋了我好久,嗯,很爽。
#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最大下降子序列,统计个数的更多相关文章
- 低价购买 (动态规划,变种最长下降子序列(LIS))
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 【最长下降子序列的长度和个数】 poj 1952
转自http://blog.csdn.net/zhang360896270/article/details/6701589 这题要求最长下降子序列的长度和个数,我们可以增加数组maxlen[size] ...
- JDOJ 1946 求最长不下降子序列个数
Description 设有一个整数的序列:b1,b2,…,bn,对于下标i1<i2<…<im,若有bi1≤bi2≤…≤bim 则称存在一个长度为m的不下降序列. 现在有n个数,请你 ...
- BUY LOW, BUY LOWER_最长下降子序列
Description The advice to "buy low" is half the formula to success in the bovine stock mar ...
- tyvj 1049 最长不下降子序列 n^2/nlogn
P1049 最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 ...
- 最长不下降子序列//序列dp
最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 最长不下降 ...
- 【tyvj】P1049 最长不下降子序列
时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数 第二行n个数 输出格式 最长不下降子序列的长度 测 ...
- 最长不下降子序列nlogn算法详解
今天花了很长时间终于弄懂了这个算法……毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习. 解决的问题:给定一个序列,求最长不下降子 ...
- SPOJ 3943 - Nested Dolls 最长不下降子序列LIS(二分写法)
现在n(<=20000)个俄罗斯套娃,每个都有宽度wi和高度hi(均小于10000),要求w1<w2并且h1<h2的时候才可以合并,问最少能剩几个. [LIS]乍一看跟[这题]类似, ...
随机推荐
- 浅析PHP中cookie与session技术
1.cookie是什么? cookie指某些站点为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). 通俗来理解就是,你去一个专卖店或者超市买东西,然后店里给你办一张 ...
- Android 利用TimerTask实现ImageView图片播放效果
在项目开发中,往往 要用到图片播放的效果.今天就用TimerTask和ImageView是实现简单的图片播放效果. 当中,TimerTask和Timer结合一起使用.主要是利用TimerTask的迭代 ...
- ajax的post提交方式和传统的post提交方式哪个更快?
如果同时用ajax和post提交先执行哪个呢?是ajax返回后再执行post呢还是同时执行? ajax的post提交方式和传统的post提交方式哪个更快? >> php这个答案描述的挺清楚 ...
- HDU 1513 Palindrome【LCS】
题意:给出一个字符串s,问至少加入多少个字母让它变成回文串 解题思路:求出该字符串与该字符串翻转后的最长公共子序列的长度,再用该字符串的长度减去最长公共子序列的长度即为所求 反思:因为题目所给的n的范 ...
- Python安装遇到的问题
1.import MySQLdb 错误 导入MySQLdb模块时报错: >>> import MySQLdb Traceback (most recent call last): ...
- BZOJ 4044 Virus synthesis (回文自动机+dp)
题目大意: 你可以在一个串的开头或者末尾加入一个字符,或者把当前整个串$reverse$,然后接在前面或者后面,求达到目标串需要的最少操作次数 对目标串建出$PAM$ 定义$dp[x]$表示当前在回文 ...
- 二、frps 完整配置文件
# [common] is integral section [common] # A literal address or host name for IPv6 must be enclosed # ...
- C++递归方法实现全排列
#include<iostream> using namespace std; void perm(int list[],int k,int m);//声明 void perm(int l ...
- 如何成为资深的python专家
相信很多人有这种感受,python很简单,几天就学会了:做了一段时间就觉得python没什么好玩的,就这样. 一种语言有火这么久,必有它存在的道理. 第一.我们要相信她,她就像你的新女朋友一样,她会给 ...
- WebService 布置简单的计算器
实验环境:myeclipse2015 具体的过程如下: 首先建立一个web service project 命名就为WebServiceProject,同时选择web service framewor ...