[题解][洛谷P1108] 低价购买

news/发布时间2024/5/16 8:39:06

题目描述

求最长下降子序列长度,以及最长下降子序列的个数。
(构成的序列一样的时候,视为同一种最长下降子序列)

题解

n不超过5000,n^2复杂度即可解决该问题。
主要在于如何统计最长下降子序列个数。
可以设数组t[i]表示以i为结尾的最长下降子序列个数,在更新f[i]的时候顺便更新。
t[i]=sum(t[j]),当且仅当 a[j] > a[i] 且 f[i] = f[j]+1 。

代码

#include<bits/stdc++.h>
#define  int  long long
using namespace std;
const int N=5007;
int a[N],f[N],t[N];
signed main(){int n;cin>>n;for(int i=1;i<=n;i++)cin>>a[i],t[i]=1,f[i]=1;for(int i=2;i<=n;i++){for(int j=1;j<i;j++){if(a[j]>a[i]){if(f[i]==f[j]+1)t[i]+=t[j];else if(f[i]<f[j]+1)f[i]=f[j]+1,t[i]=t[j];}if(a[j]==a[i])f[j]=t[j]=0;//注意这里的去重操作}}int ans=1,cnt=0;for(int i=1;i<=n;i++){if(f[i]>ans){ans=f[i];cnt=t[i];}else if(f[i]==ans)cnt+=t[i];}cout<<ans<<" "<<cnt<<endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/80680288.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

centos7 安装 Mysql 5.7.28,详细完整教程

https://cloud.tencent.com/developer/article/18863391. 下载 MySQL yum包wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 复制2.安装MySQL源rpm -Uvh mysql57-community-release-el7-10.noarch.rpm 复制3.安装MySQL服务端,需要等待一些时间yum ins…

golang+kafka

目录1. 安装JDK、Zookeeper、Scala、kafka2. 启动kafka3. 创建topics4. 查看topics5. 打开一个producer6. 打开一个consumer7. 测试发送和接收消息Windows下安装Kafka 1. 安装JDK、Zookeeper、Scala、kafka 安装Kafka之前,需要安装JDK、Zookeeper、Scala。Kafka依赖Zookeeper,…

Python-数字取证秘籍(三)

Python 数字取证秘籍(三)原文:zh.annas-archive.org/md5/941c711b36df2129e5f7d215d3712f03 译者:飞龙 协议:CC BY-NC-SA 4.0第六章:阅读电子邮件和获取名称的配方 本章涵盖了以下配方:解析 EML 文件查看 MSG 文件订购外卖盒子里有什么?解析 PST 和 OST 邮箱介绍 一旦计…

一个.NET内置依赖注入的小型强化版

前言 .NET生态中有许多依赖注入容器。在大多数情况下,微软提供的内置容器在易用性和性能方面都非常优秀。外加ASP.NET Core默认使用内置容器,使用很方便。 但是笔者在使用中一直有一个头疼的问题:服务工厂无法提供请求的服务类型相关的信息。这在一般情况下并没有影响,但是…

宝塔面板mysql无法启动问题如何解决

宝塔面板无法启动的问题和解决 如果你的宝塔里面的mysql无法启动了,请先看是不是以下的配置问题 1.是不是你的3306端口被占用了导致mysql无法启动 2.是不是磁盘空间不足导致的无法启动 如果都不是这些问题再继续向下看 常见问题: 1、Mysql安装好后或迁移文件后无法启动 2、My…

小程序上显示富文本

功能:富文本内容格式化、拿到富文本里的所有图片点击放大图片util.tsexport function formatRichText(html: any) { // 富文本内容格式化let arrText = html;//正则匹配不含style="" 或 style= 的img标签var regex1 = new RegExp("(i?)(\<img)(?!(.*?sty…