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]乍一看跟[这题]类似, ...
随机推荐
- Spring In Action读书笔记
第一章 1.Spring採用4种策略减少Java开发复杂度 基于POJO的轻量级和最小侵入性编程 依赖注入和面向接口实现松耦合 基于切面和惯例进行声明式编程 通过切面和模板降低样板式代码 PS:POJ ...
- [IOI 1999] 花店橱窗布置
[题目链接] https://www.luogu.org/problemnew/show/P1854v [算法] f[i][j]表示放了前i束花,第i束花放在第j个花瓶中,所能获得的最大美学值 由于要 ...
- apache配置httpd.conf的webapp根目录(基于appserv服务)
只要修改httpd.conf中两个配置项的值即可: DocumentRoot "E:/workspacePHP/what" <Directory "E:/works ...
- 多元一次方程解法 C++
#include<iostream> #include<math.h> #include<fstream> #include<stdlib.h> usi ...
- zset 有序集合
zadd key score1 value1 score2 value2 .. 添加元素 redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lil ...
- ES6 | ES6新语法 在编码实践中的应用
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 多家公司和组织已经公开了它们的风格规范,本文的内容主要参考了 ...
- P2740 [USACO4.2]草地排水Drainage Ditches
题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...
- Django开发之路 二(django的models表查询)
django的models表查询 一.单表查询 (1) all(): 查询所有结果 # 返回的QuerySet类型 (2) filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 #返 ...
- Zxing实现在线二维码生成程序
关于zxing的使用请参考笔者的另外一篇博文:Java二维码生成与解码工具Zxing使用 首先我们来看看效果: 在文本框中输入内容后点击生成二维码按钮,应用自动对文本框中的内容进行编码,生成二维码图片 ...
- layer-list
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android=" ...