每日OJ_牛客_马戏团(模拟最长上升子序列)

news2024/11/8 15:31:40

目录

牛客_马戏团(模拟最长上升子序列)

解析代码


牛客_马戏团(模拟最长上升子序列

马戏团__牛客网

        搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。小王觉得这个问题很简单,于是统计了参与最高罗汉塔表演的所有团员的身高体重,并且很快找到叠最高罗汉塔的人员序列。 现在你手上也拿到了这样一份身高体重表,请找出可以叠出的最高罗汉塔的高度,这份表中马戏团员依次编号为1到N。


解析代码

        体重升序排列, 体重相同时,按身高降序排列 接下来就是按照身高数据进行最大升序子序列的长度。
        注意:此题中,体重相同时,只有身高也相同才可以站在自己肩上,比自己矮是不能站在自己肩上的。所以如果想要排除体重相同时,只看身高相等的,不看身高矮的,所以身高降序排列求最大升序子序列的长度,采用动态规划:

  • 状态F(i): 以第i个数据结尾的升序子序列的最大长度
  • F(i) = max(F(i), F(j) + 1), 其中 j < i,其arr[j] <= arr[i]
  • 状态初始值:F(i) = 1
  • 返回值: max(F(i))

#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;

struct node
{
	int _w;
	int _h;
	bool operator<(const node& obj)
	{
		if (_w != obj._w) // 体重升序
			return _w <= obj._w;
		else // 身高降序
			return _h > obj._h;
	}
};
int getMaxLength(vector<node>& v, int n)
{
	// 首先排序
	sort(v.begin(), v.end());
	vector<int> maxLength(n, 1);
	int ret = 0;
	// 求最大升序子序列的长度
	for (int i = 1; i < n; ++i)
	{
		for (int j = 0; j < i; ++j)
		{
			if (v[j]._h <= v[i]._h)
			{
				maxLength[i] = max(maxLength[i], maxLength[j] + 1);
			}
		}
		// 更新最大值
		ret = max(ret, maxLength[i]);
	}
	return ret;
}

int main()
{
	int n;
	while (cin >> n)
	{
		vector<node> v(n);
		int num = 0;
		// 输入数据
		for (int i = 0; i < n; ++i)
		{
			cin >> num >> v[i]._w >> v[i]._h;
		}
		cout << getMaxLength(v, n) << endl;
	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《基于深度半监督学习的目标检测综述》泛读

基于深度半监督学习的目标检测方法分为 1、生成式方法 2、一致性正则化方法 3、基于图的方法 4、伪标记方法和混合方法 然后基于常用数据集 对典型方法进行了性能对比&#xff0c;最后分析了其挑战和发展趋势&#xff0c;旨在为相关研究提供参考 收获就是&#xff1a; 1…

Redis -- 全记录(面试)

目录 All : 缓存穿透 缓存击穿 互斥锁 逻辑过期 比较 : 缓存雪崩 redis怎么和数据库保持一致 双写一致性 : 延迟双删 : 保证强一致性 : 允许一定的延迟 基于mq的异步通知 基于Canal的异步通知 总结 Redis的持久化 RDB AOF 总结 Redis数据过期策略 惰性删除…

【算法专题】搜索算法

二叉树剪枝 LCR 047. 二叉树剪枝 - 力扣&#xff08;LeetCode&#xff09; 本题要求我们将全部为0的二叉树去掉&#xff0c;也就是剪枝&#xff0c;当我们举一个具体的例子进行模拟时&#xff0c;会发现&#xff0c;只关注于对其中一个子树的根节点进行剪枝&#xff0c;由于我…

Docker部署MySQL8.0.39报错解决方案

Docker部署MySQL8.0.39报错解决方案 2024-09-11T06:09:09.317582Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161) 2024-09-11T06:09:09.317586Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (reques…

李彦宏内部讲话曝光,谈大模型三大认知误区:智能体还是非共识

“外界对大模型有相当多的误解&#xff0c;”近日据媒体报道&#xff0c;李彦宏的一则内部讲话曝光。在最近一次和员工交流中&#xff0c;李彦宏谈及三个大模型认知误区&#xff0c;涵盖了大模型竞争、开源模型效率、智能体趋势等热点话题。 李彦宏认为未来大模型之间的差距可…

【Axure教程】高级搜索

高级搜索可以通过使用精确的关键词或短语&#xff0c;帮助用户找到特定的内容。尤其在面对大量搜索结果时&#xff0c;通过过滤条件缩小范围&#xff0c;能够节省时间。他允许用户使用多个条件进行组合&#xff08;例如条件匹配、模糊搜索、区间筛选等&#xff09;来精准获取相…

购物车装载状态检测系统源码分享

购物车装载状态检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

瑞幸卖奶茶,霸王茶姬不慌

瑞幸和霸王茶姬&#xff0c;打不起来。 转载定焦&#xff08;dingjiaoone&#xff09;原创 作者 | 苏琦 编辑 | 魏佳 最近&#xff0c;瑞幸因为联名游戏大作《黑神话&#xff1a;悟空》无法核销套餐被骂上热搜&#xff0c;但业内人士更关注的&#xff0c;是它不久前推出的轻乳…

【网络安全】-rce漏洞-pikachu

rce漏洞包含命令执行漏洞与代码执行漏洞 文章目录 前言 什么是rce漏洞&#xff1f; 1.rce漏洞产生原因&#xff1a; 2.rce的分类&#xff1a; 命令执行漏洞&#xff1a; 命令拼接符&#xff1a; 常用函数&#xff1a; 代码执行漏洞&#xff1a; 常用函数&#xff1a; 分类&…

AI算力池化技术助力运营商打造智算生态

数字经济时代&#xff0c;算力已成为国民经济发展的重要基础设施。随着数字化转型的不断深入和人工智能技术的广泛应用&#xff0c;构建以新型智算中心为核心的智能算力生态体系正驱动着数字经济快速发展&#xff0c;成为人工智能赋能千行百业的重中之重。 2022年2月&#xff…

Vulnhub-RickdiculouslyEasy靶场(9个flag)

flag1 端口9090有一个flag flag2 13337端口 flag3 使用dirb进行扫描网站的80端口&#xff0c;发现一些敏感文件 访问80端口&#xff0c;没有发现有效信息 访问passwords目录 访问FLAG.txt 再返回访问passwords.html文件 查看页面源代码发现一个密码 flag4 之前扫描到了robo…

书接上文,介绍下Quartz Java体系结构

体系结构总结 JobDetail 我们创建一个实现 Job 接口的类&#xff0c;使用 JobBuilder 包装成 JobDetail&#xff0c;它可以携带 KV 的数据。 Trigger 定义任务的触发规律&#xff0c;Trigger&#xff0c;使用 TriggerBuilder 来构建。JobDetail 跟 Trigger 是 1:N 的关系。思…

智慧物流系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;车辆管理&#xff0c;商品管理&#xff0c;物流信息管理&#xff0c;论坛管理&#xff0c;公告信息管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品&#xff0c;论坛&#xff0c;我的 …

磁盘无法访问:深度解析与高效数据恢复策略

在数字化时代&#xff0c;磁盘作为数据存储的核心载体&#xff0c;其稳定性和可访问性直接关系到用户数据的安全与完整性。然而&#xff0c;当遇到“磁盘无法访问”的突发状况时&#xff0c;用户往往会陷入焦虑与无助之中。本文将深入探讨磁盘无法访问的原因&#xff0c;并详细…

最全面IO流介绍

1.字符集介绍 标准ASCII字符集&#xff1a;使用1个字节存储一个字符&#xff0c;首尾是0&#xff0c;总可以表示128个字符。是美国信息交换标准代码&#xff0c;包含英文、符号等等。 GBK汉字编码字符集&#xff0c;包含2万多个汉字等字符&#xff0c;GBK中一个中文字符编码成…

(Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)

接着上一篇文章来搞,批量查询点赞状态。这个接口提供给其他的微服务调用所以这里会用到FeignClient 直接上接口 1. 接口信息 这里是查询多个业务的点赞状态,因此请求参数自然是业务id的集合。由于是查询当前用戶的点赞状态,因此无需传递用戶信息。当前用户指的是登录用户 …

小琳AI课堂:LLaMA 3.1 开源大模型的全新里程碑

引言 大家好&#xff0c;这里是小琳AI课堂&#xff01;今天我们要聊的是Meta最新发布的开源大模型LLaMA 3.1。这个版本在AI界掀起了不小的波澜&#xff0c;不仅在参数规模上有显著提升&#xff0c;还在多项性能上实现了突破。让我们一起来看看LLaMA 3.1带来的新变化和意义吧&a…

UEFI基础概念2——Handle和Protocol

一、Handle Handle Database是由Handle和Protocol组成。Handle&#xff08;句柄&#xff09;是一个或多个协议的集合&#xff0c;Protocol&#xff08;协议&#xff09;是由GUID命名的数据结构。 在平台初始化过程中&#xff0c;系统固件、UEFI兼容驱动程序和UEFI应用程序创建…

香港科技大学工学2025/2026年度硕士研究生(MSc)项目招生宣讲会

&#x1f514;香港科技大学工学院2025/2026年度硕士研究生&#xff08;MSc&#xff09;项目招生宣讲会 &#x1f559;时间&#xff1a;2024年9月25日&#xff08;星期三&#xff09;19:00 &#x1f3e0;地点&#xff1a;华南理工大学五山校区33号楼403室 &#x1f386;2024Ti…

重修设计模式-结构型-桥接模式

重修设计模式-结构型-桥接模式 将抽象和实现解耦&#xff0c;让它们可以独立变化 桥接模式&#xff08;Bridge Pattern&#xff09;的主要目的是解耦&#xff0c;创建一个抽象层来隔离接口与实现&#xff0c;让它们之间的依赖关系可以通过对象的组合来替代继承&#xff0c;从而…